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

如何解决Angular 9对接Spring Boot应用时出现的415错误?

415错误原因及修复方案

415 Unsupported Media Type 错误本质是后端无法识别请求的内容类型,没有走到字段映射解析的步骤,所以你之前加@JsonIgnore的排查方向是错误的,可按以下步骤排查修复:


1. 检查请求头是否正确传递

打开浏览器F12网络面板,找到对应POST请求的请求头,确认Content-Type字段值为application/json,没有被拦截器、代理等修改为text/plain或者其他值。

2. 修正Angular端请求写法

Angular的HttpClient默认会自动对JS对象做JSON序列化,同时自动添加application/json的请求头,不需要手动调用JSON.stringify(),冗余的序列化反而可能导致请求头异常,修改为如下写法即可:

return this.http.post(`${AppComponent.API}/Trip/Add`, trip);

如果确实需要手动指定请求头,确认HttpHeaders是从@angular/common/http包导入,没有写错导入路径。

3. 修复后端配置问题

  • 确认项目引入了spring-boot-starter-web依赖,该依赖默认集成了Jackson JSON解析工具,没有该依赖会导致后端无法解析JSON格式的请求体:
    Maven pom.xml 参考配置:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  • 检查有没有自定义的WebMvcConfigurer实现类,是否重写了configureMessageConverters方法覆盖了默认的Jackson消息转换器,如果有需要保留JSON转换器的注册。
  • 可以在@PostMapping注解中显式指定接收的内容类型,避免匹配错误:
import org.springframework.http.MediaType;

@PostMapping(value = "/Trip/Add", consumes = MediaType.APPLICATION_JSON_VALUE)       
public Integer addFund(@RequestBody Trip trip) {                    
    return tripService.addTrip(trip);               
} 
  • 检查Trip实体类是否提供了公共无参构造函数、字段对应的get/set方法,如果使用Lombok需要确保@Data/@NoArgsConstructor注解生效。

4. 核对请求路径匹配

浏览器实际请求路径为http://localhost:9019/trips/trip/Add,和Controller声明的/Trip/Add存在大小写差异、以及多了/trips前缀的问题,确认AppComponent.API的配置值拼接后路径和后端路径完全匹配,路径匹配异常也可能被全局错误处理器返回415状态码。


内容的提问来源于stack exchange,提问作者user2304483

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 07:42:02