【发布时间】:2019-12-02 14:27:58
【问题描述】:
我有一个模型类和一个控制器。我在邮递员的正文中发布 json 类型的数据。但每次我收到不受支持的媒体类型 415 错误。 这是我的模型类:
public class Model1 {
private String name;
private String password;
public Model1() {
System.out.println("In the Model");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Model1 [name=" + name + ", password=" + password + "]";
}
}
我的控制器是:
@Controller
@ResponseBody
public class EcomController {
@RequestMapping(value="/getLogin", method=RequestMethod.POST,
consumes=MediaType.APPLICATION_JSON_VALUE)
public String getLoginStatus(@RequestBody Model1 name){
return "successfully called Post"+name.toString();
}
}
我使用 HttpServletRequest 代替 @RequestBody 并且它有效。但是为什么当我使用@RequestBody 时它没有醒来?
这是邮递员的快照。 Here is the image of request from postman
{
"name": "anshsh",
"password": "vbvfjh"
}
【问题讨论】:
-
你是否在请求中传递了带有值
MediaType.APPLICATION_JSON_VALUE的Content-Type标头? -
你如何调用端点?
-
我从 PostMan 调用这个 post API。我使用了带有 JSON 值的 content-Type 标头。这是 Json : { "name": "anshsh", "password": "vbvfjh" }
-
我亲自运行你的实现,它运行良好。请求正文是否具有适当的 JSON 格式?
-
只是为了确定 - content-type 标头值为“application/json”?
标签: spring-mvc