You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

搭建Spring Boot REST API后请求返回404 Not Found问题求助

Spring Boot REST API 404 Not Found 排查与解决

以下是针对你遇到的404问题的常见排查方向,结合你提供的代码逐一分析:

1. 配置文件名称错误

你的配置文件命名为file.properties,但Spring Boot默认只会加载名为application.properties(或application.yml)的配置文件。这会导致你配置的server.port=8082不生效,项目实际使用默认端口8080,此时访问http://localhost:8082/api/user自然会返回404。

解决方法:将配置文件重命名为application.properties,重启项目后尝试访问对应端口的接口。

2. Controller未被Spring扫描到

Spring Boot默认只会扫描启动类所在包及其子包下的组件。如果你的UserController所在的包与启动类的包层级不匹配(比如启动类在com.example.demo,而Controller在com.example.api),Spring无法识别该Controller,也就不会注册对应的接口路径。

解决方法:

  • 调整包结构,将UserController移到启动类的同级或子包下;
  • 在启动类上添加@ComponentScan注解,指定Controller所在的包路径,例如:
@SpringBootApplication
@ComponentScan(basePackages = "com.example.api") // 替换为你的Controller实际所在包
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

3. 请求路径或HTTP方法不匹配

检查Postman的请求细节:

  • 确认请求方法是否正确:比如用POST请求访问GET接口(/api/user的GET方法用于查询所有用户,POST用于创建用户);
  • 确认路径是否准确:避免多写/少写斜杠、大小写错误(Spring Boot路径默认不区分大小写,但建议严格匹配);
  • 如果是带参数的请求(比如/api/user/{id}),确认路径中的id是合法的数字格式。

4. 项目启动异常

查看项目启动日志,确认以下信息:

  • 是否有类似Mapped GET "/api/user" onto public java.util.List<xxx.User> xxx.UserController.findAllUsers()的日志,若没有说明Controller未被注册;
  • 是否有数据库连接失败的错误日志(比如用户名密码错误、数据库未启动),若数据库连接失败导致项目启动不完全,也会导致接口无法访问。

额外提示:实体类序列化问题

你的User实体类没有添加getter/setter方法,虽然这不会直接导致404,但当你发送POST请求创建用户时,Spring无法正常反序列化请求体中的数据,会返回400错误。建议为User类添加getter和setter:

@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;
    private String name;

    // 添加getter和setter
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

内容的提问来源于stack exchange,提问作者Khaled El Attar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 04:10:36