我正在尝试将POST请求中的嵌套json对象发送到我的Spring REST API。
对象java代码
public class TestModel {
private String id;
private String name;
public TestModel(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
}
在休息控制器中发布方法代码
@RequestMapping(value = "/helloPost")
public ResponseEntity<TestModel> helloPost(@RequestBody TestModel t) {
return new ResponseEntity<TestModel>(t, HttpStatus.OK);
}
我的邮差截图
它必须返回状态200 ok和对象i发送,但它永久返回400错误请求。 请告诉我,我做错了什么。当我发送一个字符串(我的@RequestBody也是字符串)但完全没有使用自定义对象时,这没关系。
P.S 我添加了逗号,没有更改
答案 0 :(得分:2)
你错过了JSON中id字段之后的“,”。适当的JSON就是你的情况: -
{
"id" : "1",
"name" : "test"
}
答案 1 :(得分:2)
您发送到服务器的格式错误的json。您需要在json中添加逗号以分隔元素。
即使邮差在左边显示错误的图标。
{
"id" : 1,
"name" : "test"
}
此外,您还需要在对象模型中添加setter和默认构造函数来设置这些值。
答案 2 :(得分:1)
如评论中所述,请为TestModel类添加默认构造函数。它应该解决问题。
作为附加步骤,如果Web服务将接受json作为输入,则添加使用内容类型作为应用程序json的使用注释。