【问题标题】:How to send post request with spring @RequestBody in rest client如何在rest客户端中使用spring @RequestBody发送发布请求
【发布时间】:2015-11-09 07:39:30
【问题描述】:

我有一个类 Person。

class Person{
Integer id;
String firstName;
String lastName;
//other params, constructors, getters & setters
}

&我的方法是

    @RequestMapping(value = "/test", method = RequestMethod.POST)
    public void testPerson(
            @RequestBody Person person){
...
}

现在我需要使用 rest 客户端对其进行测试。我尝试将 Firefox 插件的“请求标头”部分设置为具有“名称”=“内容类型”和“值”=“应用程序/x-www-form-urlencoded” & 然后在正文中添加参数,

id=1&firstName=aaa&lastName=bbb

但它给出了 404。

【问题讨论】:

  • 你需要发送一个json格式的payload。

标签: spring rest post firefox-addon


【解决方案1】:

如果您收到 404 响应,这意味着您的请求 URL 错误,或者您使用 GET 方法而不是 POST,反之亦然。

然后关于在请求中传递Person,如果使用@RequestBody,则必须在请求正文中传递JSON或XML作为播放负载。

JSON:

{
  "id":1,
  "firstName":"aaa",
  "lastName":bbb
}

XML

<person>
  <id>1<id>
  <firstName>aaa</firstName>
  <lastName>bbb</lastName>  
</person>

【讨论】:

  • 我已经添加了这两个标题。接受:application/json 内容类型:application/json & 从正文发送 json 请求。
  • 如果您使用 Jackson 或其他库将 json 转换为 object 。不要忘记向对象添加空构造函数
猜你喜欢
  • 2013-12-30
  • 1970-01-01
  • 2014-11-03
  • 2018-07-18
  • 2019-01-15
  • 2019-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多