触发 404 在弹簧 MVC 控制器?

2022-08-31 05:56:39

如何获取 Spring 3.0 控制器来触发 404?

我有一个控制器,对于访问控制器的某些URL,我希望容器提供404。@RequestMapping(value = "/**", method = RequestMethod.GET)


答案 1

从Spring 3.0开始,您还可以抛出一个使用@ResponseStatus注释声明的异常:

@ResponseStatus(value = HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
    ...
}

@Controller
public class SomeController {
    @RequestMapping.....
    public void handleCall() {
        if (isFound()) {
            // whatever
        }
        else {
            throw new ResourceNotFoundException(); 
        }
    }
}

答案 2

从 Spring 5.0 开始,您不一定需要创建其他异常:

throw new ResponseStatusException(NOT_FOUND, "Unable to find resource");

此外,您可以使用一个内置异常覆盖多个方案,并且拥有更多控制权。

查看更多:


推荐