在Post方法中使用Postman发送嵌套的json对象到Spring REST API
我想发送POST请求中的嵌套json对象到我的spring REST API。在Post方法中使用Postman发送嵌套的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;
}
}
在其余控制器Post方法代码
@RequestMapping(value = "/helloPost")
public ResponseEntity<TestModel> helloPost(@RequestBody TestModel t) {
return new ResponseEntity<TestModel>(t, HttpStatus.OK);
}
我的邮递员截图
它返回状态200确定,对象我发,但它永远返回400错误的请求。 请告诉我我做错了什么。当我发送一个字符串时(我的@RequestBody字符串也是),但完全不能与自定义对象一起工作时就没有问题。
P.S 我已经添加逗号,没有改变
正如在评论中提到的,请添加TestModel类的默认构造函数。它应该解决问题。
作为一个额外的步骤,如果Web服务将接受json作为输入,然后添加使用内容类型作为应用程序json的注释。
你错过了 “” 后JSON id字段。适当的JSON是你的情况将如下: -
{
"id" : "1",
"name" : "test"
}
后仍然不能正常工作,没有变化,状态400 –
这是一个畸形的json你发送到服务器。你需要添加逗号来分隔json中的元素。
即使邮差在左边显示错误的图标。
{
"id" : 1,
"name" : "test"
}
此外,您还需要在对象模型中添加setter和默认构造函数来设置这些值。
谢谢,但是还是没有变化 –
在测试模型中,请添加默认构造函数并尝试。另外,添加使用内容类型值作为应用程序json的注释。将其设置在请求标题中。 – notionquest
谢谢,它帮了很多 –
问题解决了吗? – notionquest