我正在尝试在一个简单的 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");
}
}
这是我的 Contact
public class Contact {
int id;
public String name;
public int number;
public Contact(){}
// Getters and setters
}
我正在向 Postman 发送请求,这就是它的样子
POST /users HTTP/1.1
Host: localhost:8080
Content-Type: application/json
Accept: application/json
Cache-Control: no-cache
Postman-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
守着星空守着你
森林海
30秒到达战场
相关分类