为了账号安全,请及时绑定邮箱和手机立即绑定

HTTP 状态 415 – 在 Spring MVC 上执行 POST 请求时不支持的媒体类型

HTTP 状态 415 – 在 Spring MVC 上执行 POST 请求时不支持的媒体类型

暮色呼如 2021-11-03 14:47:45
我正在尝试在一个简单的 Spring MVC Web 应用程序上发送一个 post 请求,并RequestBody在我的控制器中使用它来将 JSON 转换为 Java 对象,但无论出于何种原因,我不断收到HTTP Status 415 – Unsupported Media Type. 我花了很多时间试图找到解决方案,但似乎没有任何效果。我的控制器中的 get 方法似乎工作正常。这是我的原始代码import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*;@Controller@RequestMapping(value = "/users", method = RequestMethod.POST)public class MyControllerAgain {    @RequestMapping(method = RequestMethod.POST, consumes = "application/json")    public void handleJson(@RequestBody Contact c) {        System.out.println(c);    }    @RequestMapping(method = RequestMethod.GET, consumes = "application/json")    public void handleGet() {        System.out.println("a");    }}这是我的 Contactpublic class Contact {    int id;    public String name;    public int number;    public Contact(){}    // Getters and setters}我正在向 Postman 发送请求,这就是它的样子POST /users HTTP/1.1Host: localhost:8080Content-Type: application/jsonAccept: application/jsonCache-Control: no-cachePostman-Token: 511c9e03-4178-380d-58f8-db24a3245b9e{    "id":1,    "name":"something",    "number":1}我还尝试在我的pom.xml. 我曾尝试更改@RequestMapping注释中的消耗值,并且在我的请求中尝试了标头接受和内容类型的所有组合。另外,如果我使用@ModelAttribute而不是@RequestBody,那么除了Contact类中的所有字段都为空之外,一切正常。这是 github 链接 - https://github.com/Sanil2108/test_springmvc
查看完整描述

3 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

尝试了一切,但无法正常工作。也许我在某个地方犯了一个愚蠢的错误,或者我的配置存在严重错误。无论如何,我试图让它与 Spring boot 一起工作,并且工作正常。对于任何有兴趣的人,这是 github 链接 - https://github.com/Sanil2108/spring_hibernate/tree/master/spring_boot1

另外,感谢所有试图提供帮助的人!


查看完整回答
反对 回复 2021-11-03
?
森林海

TA贡献2011条经验 获得超2个赞

对我来说,jpa 注释似乎弄乱了 json 反序列化。

从 spring 服务器返回的错误可能会产生误导。尝试使用带有 setter 和 getter 的普通对象,看看这是否会改变任何东西。您应该在日志中搜索一些异常。


查看完整回答
反对 回复 2021-11-03
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

RequestMapping注释不仅有,consumes而且还有produces

但为了避免对HTTP REST所有这些设置,您可以使用RestController注释和GetMappingPostMapping等等。

你可以在我的github中找到一个例子


查看完整回答
反对 回复 2021-11-03
  • 3 回答
  • 0 关注
  • 269 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信