Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring引导将请求映射到控制器和ResourceHttpRequestHandler_Java_Spring_Rest_Spring Boot_Controller - Fatal编程技术网

Java Spring引导将请求映射到控制器和ResourceHttpRequestHandler

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

我的控制器,至少现在应该只是返回所有已知的Hibernate用户,并没有被执行,尽管被映射到SpringBoot。而是将请求映射到ResourceHttpRequestHandler。它仍然返回状态代码200

有关控制员:

@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