Spring Boot中@RequestMapping注解失效问题求助
解决Spring Boot中@RequestMapping注解失效的问题
我看了你的代码,马上就找到了几个关键问题,这应该就是导致你访问/check/路径失败的原因:
1. Controller方法缺少请求映射注解
你的index()方法只在类上加了@RequestMapping("/check"),但方法本身没有标注任何请求映射注解(比如@GetMapping、@PostMapping或者@RequestMapping)。Spring Boot不知道该把哪个HTTP请求绑定到这个方法上,自然无法处理请求。
修复后的Controller代码:
@RestController @RequestMapping("/check") public class Controller { // 加上@GetMapping注解,指定处理GET请求 @GetMapping("/") public String index(){ return "sdfksdjfkjkUshshdfisdfsdkasjdfjkasjdfkjakl:"; } }
如果你想匹配/check路径(不带结尾斜杠),可以把@GetMapping("/")改成@GetMapping或者@GetMapping("")。
2. 上下文路径的确认
你提到访问http://localhost:8081/demo/能看到内容,说明你的项目配置了上下文路径/demo。那访问Controller的正确路径应该是http://localhost:8081/demo/check/,而不是http://localhost:8081/check/——这一点很容易被忽略!
如果不想用上下文路径,你可以在配置文件里修改:
# application.properties server.servlet.context-path=
或者
# application.yml server: servlet: context-path: ""
3. 额外检查点
- 确保你的
Controller类和Application主类在同一个包或者子包下:Spring Boot默认会扫描主类所在包及其子包的组件,如果Controller在外部包,需要在@SpringBootApplication上加上@ComponentScan(basePackages = "你的controller所在包")。 - 确认
spring-boot-starter-web依赖已经正确添加,这个是Spring MVC和REST功能的核心依赖。
按照上面的步骤修改后,重新启动项目,应该就能正常访问对应的路径了。
内容的提问来源于stack exchange,提问作者Sushil Chaudhary
相关产品推荐
相关产品推荐

