SpringBoot 3中server.servlet.context-path配置无效问题求助
解决SpringBoot配置context-path后接口404问题
检查请求URL是否包含context-path前缀
配置server.servlet.context-path=/api后,所有接口的访问路径都需要加上/api前缀。比如你的接口映射是/user/list,完整请求URL应该是http://localhost:8080/api/user/list,确认Postman里的地址有没有漏加这个前缀。核对Controller的注解配置
不要在Controller的@RequestMapping(或@GetMapping/@PostMapping等)里重复写/api。正确的写法应该是只定义接口的相对路径,context-path会自动作为全局前缀拼接:@RestController @RequestMapping("/user") public class UserController { @GetMapping("/list") public List<User> getUserList() { // 业务逻辑实现 } }验证配置是否生效
启动应用后,查看控制台日志,搜索context-path或找到WebApplicationContext初始化的日志,确认应用加载的context-path确实是/api。比如日志里可能会出现类似ContextPath: /api的内容。确认请求方式匹配
接口用@PostMapping定义就用POST请求,@GetMapping就用GET请求,Postman里的请求方法和接口注解不匹配也会返回404。检查端口是否一致
确认Postman请求的端口和SpringBoot启动的端口一致,默认是8080,如果修改过server.port配置,要对应调整URL里的端口号。
内容的提问来源于stack exchange,提问作者Tushar Agarwal
相关产品推荐
相关产品推荐

