使用RequestBody注解传递POJO对象时返回HTTP状态码415 - 不支持的媒体类型

参考地址:https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc

源码地址(持续更新中):https://gitee.com/qinshizhang/spring-mvc-learn

入参的POJO对象如下:(注:以下内容都是Spring MVC基于注解的Java配置,而非基于xml配置文件开发)

public class RequestInfo implements Serializable {
    private String username;
    private Long userId;
    private int userAge;
    private double userHeight; // 身高
    private Date birthday;
    private BigDecimal balance; // 余额

    // 为了不占篇幅,省略了get和set方法
}

Controller层代码如下:

@RestController
@RequestMapping(path = "v1/hello/")
public class HelloController {

    @PostMapping(path = "showRequestInfo")
    public RequestInfo showRequestInfo(@RequestBody RequestInfo requestInfo) {
        return requestInfo;
    }

}

请求参数如下:

### Send POST request with json body
POST http://localhost:9090/v1/hello/showRequestInfo
Content-Type: application/json

{
    "username" : "java",
    "userId" : "123455",
    "userAge" : "23",
    "userHeight" : "170.5",
    "birthday" : "1990-12-31 23:59:59",
    "balance" : "20.55"
}

请求响应结果如下:(部分)

<body><h1>HTTP状态 415 - 不支持的媒体类型</h1>
<hr class="line"/>
<p><b>类型</b> 状态报告</p>
<p><b>描述</b> 源服务器拒绝服务请求,因为有效负载的格式在目标资源上此方法不支持。</p>
<hr class="line"/>
<h3>Apache Tomcat/9.0.41</h3></body>

 跟踪代码调试,发现抛出异常的地方在如下方法中:

org.springframework.web.servlet.mvc.metho
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值