Java Spring引导将请求映射到控制器和ResourceHttpRequestHandler
我的控制器,至少现在应该只是返回所有已知的Hibernate用户,并没有被执行,尽管被映射到SpringBoot。而是将请求映射到ResourceHttpRequestHandler。它仍然返回状态代码200 有关控制员:Java Spring引导将请求映射到控制器和ResourceHttpRequestHandler,java,spring,rest,spring-boot,controller,Java,Spring,Rest,Spring Boot,Controller,我的控制器,至少现在应该只是返回所有已知的Hibernate用户,并没有被执行,尽管被映射到SpringBoot。而是将请求映射到ResourceHttpRequestHandler。它仍然返回状态代码200 有关控制员: @RestController @RequestMapping(path = Path.ROOT+"/users") public class UserController { private static Logger log = LoggerFactory.getLo
@RestController
@RequestMapping(path = Path.ROOT+"/users")
public class UserController {
private static Logger log = LoggerFactory.getLogger(UserController.class);
@Autowired
private IUserRepository userRepository;
@GetMapping(path = "/", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> getAllUsers(){
log.info("Users: "+userRepository.findAll().size());
return ResponseEntity.ok(userRepository.findAll());
}
}
如您所见,getAllUsers方法的日志输出不存在。
我还可以确认JwtRequestFilter没有直接干扰请求,因为响应代码是200,并且没有消息
编辑:
我已经把这个问题告诉了Spring Security。如果对请求禁用了安全性,则会正确执行该请求。
更具体地说,如果自定义OncePerRequestFilter中的shouldNotFilter返回true,则会发生此错误。但是,即使实际的筛选方法仅包含
return
,此错误仍然会发生。您可以共享发送请求的URL吗?URL中有结尾/吗?@SaimDoruklu我也许应该补充一点,即另一个控制器确实正确映射,尽管它被排除在安全之外。@TerpeTubebaker您应该在URL中附加/
,作为您为getAllUsres()
指定的映射路径的一部分,我已经尝试了这两种方法,有/没有。我发布的URL实际上有一个尾随/,但stackoverflow格式并没有这样做。然而,我发现了一些有趣的交互:在我的模型类中,有一些集合具有xtoMany关系。如果他们的fetchType设置为LAZY,我将得到一个LazyInitializationException,对我来说,这将指示该方法的执行。然而,日志输出并不代表这一事实。
2019-12-04 16:34:34.615 DEBUG 17008 --- [nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.example.app.controllers.users.UserController#getAllUsers()
2019-12-04 16:34:34.618 DEBUG 17008 --- [nio-8080-exec-1] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler ["classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/", "/"]
2019-12-04 16:34:34.620 INFO 17008 --- [nio-8080-exec-1] c.e.app.security.JWT.JwtRequestFilter : Do Filter Internal
2019-12-04 16:34:34.620 INFO 17008 --- [nio-8080-exec-1] c.e.app.security.JWT.JwtRequestFilter : Should filter