已经有一段时间了,我正在更新我的 Spring 和 Spring boot 技能。为此,我正在构建一个 Web 应用程序。这是我的 Controller 的一部分:
@Controller
public class LoginController {
@RequestMapping(value = "/validate", method= RequestMethod.GET)
@ResponseBody
public String validate( @RequestParam(RequestConstants.KEY_USERKEY) String userkey) {
String result = loginService.validate(userkey)
? RequestConstants.KEY_SUCCESS
: RequestConstants.KEY_FAILURE;
return result;
}
部署似乎很顺利,war 被命名为 theta-server 并且正在进入 tomcat/webapps OK,所以我转到我的浏览器并输入:
http://testbox:8080/theta-server/validate?userkey=bob
然后我得到一个 404。
我查看日志。最初,我什么都没有,然后我发现了这个问题:Spring Boot War deployed to Tomcat这让我找到了这些文档:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file现在它正在启动 Spring boot 应用程序,横幅显示在我的日志文件中。
但是没有错误,我想知道为什么我得到 404。
Spring Security 的日志中有消息表明没有围绕验证的控制,因此它似乎收到了请求,但没有随它去任何地方。
此外,还看到:Spring Boot Controller 404并确保我的 Controller 位于我的应用程序类下的包中。
我有一个贯穿整个堆栈的集成测试,所以我相信 Spring 的代码至少是正确的。
最佳答案
我遇到了同样的问题。请按照下面的说明在主类中添加您的 Controller 包名称。
@SpringBootApplication(scanBasePackages={"com.design.order.controller"}
它为我解决了。
关于java - 无法进入我的 spring boot Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38960469/