Angular调用Spring Boot CarController POST接口返回404错误如何解决
404错误产生原因
- 请求方法不匹配:后端
CarController的getCars接口声明为@PostMapping,仅接收POST请求,但前端调用时使用的是http.get()方法发送GET请求,方法不匹配会直接返回404状态码。 - 接口路径拼写错误:后端接口路径定义为
/test/{code},前端代码中路径错误拼写为teste,多了一个字符e,导致路径不匹配。 - 参数传递格式错误:后端将
code声明为路径参数@PathVariable,需要直接拼接在URL路径中,而前端使用?将code作为查询参数传递,格式不符合后端要求。 - 应用上下文路径匹配问题:前端配置的
apiEndpoint带有/my-app/后缀,若后端服务未配置server.servlet.context-path=/my-app,会导致请求路径前缀不匹配。
对应解决方法
- 统一请求方法:要么将后端接口注解修改为
@GetMapping,要么将前端请求方法修改为http.post(),保证前后端请求方法一致。 - 修正路径拼写:将前端代码中
/car/teste/?修改为/car/test/,和后端接口路径保持一致。 - 修正参数传递方式:路径参数直接拼接在URL中,不需要加
?,修改后URL拼接代码为${environment.apiEndpoint}car/test/${code}。 - 统一上下文路径:检查后端
application.properties/application.yml配置文件,添加配置server.servlet.context-path=/my-app,保证前后端路径前缀一致。
内容的提问来源于stack exchange,提问作者Rodrigo
相关产品推荐
相关产品推荐

