在SPRING MVC中使用JSON进行POST请求的正确方法?

时间:2015-07-01 18:57:35

标签: javascript java json spring rest

我对春天来说相当新,并希望以正确的方式提出发布请求。我有一个json对象列表,我想发布到我的服务器 例如

->setBody( $this->renderView(confirm.html.twig

我正在以这种方式使用xhr到我的服务器的谷歌关闭中发布帖子请求

var list = [{name:"abc",age:23},{name:"xyz",age:22},{name:"xcx",age:33}]

这就是我的控制器的样子

 model.xhrPost(id,url,"list="+JSON.stringify(this.list),callback);

所以简而言之,我通过传递querystring参数来发布帖子请求。这是正确的方式还是应该将内容发布在正文中?如果我在体内贴出我必须做出哪些改变?

1 个答案:

答案 0 :(得分:0)

这绝对不是您应该如何将数据发布到REST端点。这样你可以使用GET而不是POST,它也可以使用。但是,POST应该绝对用于创建新资源,内容应该在消息体中携带,而不是作为查询参数。

在后端,您可以自己捕获并解析内容,或者创建一个将填充来自正文数据的类(见下文)。

DTO:

class Person {
    String name
    Integer age
}

class PersonList {
    List<Person> persons
}

端点:

public String logClientError(@RequestBody PersonList list, HttpServletRequest request, HttpServletResponse response) throws Exception

体:

{ 
   "persons": [{name:"abc",age:23},{name:"xyz",age:22},{name:"xcx",age:33}] 
}

@ResponseBody可以以相同的方式用于回复。

相关问题