gpt4 book ai didi

java - 如何捕捉,为什么请求没有在 Spring Web 中映射?

转载 作者:行者123 更新时间:2023-11-29 04:53:52 26 4
gpt4 key购买 nike

我有以下映射:

   @RequestMapping(value = "/", params = "!op")
public Iterable<User> getUserList() {
return userRepository.findAll();
}

我还有以下映射(可能有冲突):

@RequestMapping(value = "/", params = "op=delete")

@RequestMapping(value = "/",params = "op=update")

虽然整个类(class)都有一个映射

@RequestMapping("/user")

启动时我在日志中有以下消息:

2015-12-26 20:11:25.103  INFO 5796 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/user/],params=[op=update]}" onto public com.inthemoon.pdk.data.User com.inthemoon.pdk.web.UserController.addUserByScreenName(java.lang.String,java.lang.String)
2015-12-26 20:11:25.105 INFO 5796 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/user/],params=[op=delete]}" onto public com.inthemoon.pdk.data.User com.inthemoon.pdk.web.UserController.deleteUserByScreenName(java.lang.String)
2015-12-26 20:11:25.105 INFO 5796 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/user/],params=[!op]}" onto public java.lang.Iterable<com.inthemoon.pdk.data.User> com.inthemoon.pdk.web.UserController.getUserList()

不幸的是,所讨论的映射不起作用,即当我请求时

http://localhost:8080/user

未触发映射方法。

为什么?

是否可以打开日志记录以便我跟踪 Spring 如何决定将请求映射到何处?

最佳答案

如果 !op 的意思是“没有 op 参数”,那么只需按照建议将其删除即可。

http://localhost:8080/user 没有到达您的 @RequestMapping 的原因是因为它缺少尾部斜杠(即您在你的 @RequestMapping 在方法上)。如果您删除 !op 并向 http://localhost:8080/user/ 发出请求,该请求应该按您预期的方式映射。

关于java - 如何捕捉,为什么请求没有在 Spring Web 中映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34473496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com