所以我在控制器中有一堆嵌套的路由。如果特定的嵌套路由不存在,我想确保应用程序引发错误。现在,如果嵌套级别大于2,则应用程序返回,null而不是抛出错误,指出找不到路由。
例:
@RestController @RequestMapping(value="v1/") public class EmployeeController {
@Autowired
EmployeeRepository employeeRepository;
// Get Token Info
@RequestMapping(value = "read/tokenInfo", method = RequestMethod.GET)
public Token getTokenInfo(@AuthenticationPrincipal Token token) {
return token;
}
// List of all employees.
@GetMapping(path = "read/list")
public List<Employee> getAllEmployees() {
return employeeRepository.findAll();
}
在上面的代码中,假设该路由 v1/read/tokenInfo具有3个分段-v1,read和tokenInfo。如果我输错了路线,然后尝试类似的操作- v1/read/tokeninfosss而不显示错误,它将返回200OK并null显示消息。
响应: 响应
但是,如果该路线只有2个级别-如下所示-
@RestController @RequestMapping(value="v1/") public class EmployeeController {
@Autowired
EmployeeRepository employeeRepository;
// Get Token Info
@RequestMapping(value = "tokenInfo", method = RequestMethod.GET)
public Token getTokenInfo(@AuthenticationPrincipal Token token) {
return token;
}
现在,如果我致电- v1/tokenInfosss,则会引发错误 -404错误: 404错误
我还配置了以下安全性-
@Override protected void configure(HttpSecurity http) throws Exception { http.sessionManagement() .sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() .authorizeRequests()
.antMatchers("/local/").permitAll() .antMatchers("/v1/read/").hasAuthority("Display") .antMatchers("/v1/modify/**").hasAuthority("Update") .anyRequest().authenticated() .and() .oauth2ResourceServer() .jwt() .jwtAuthenticationConverter(getJwtAuthenticationConverter()); } 任何想法如何配置此404错误?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。