JAX-RS将参数传递给PUT请求

时间:2015-03-03 11:50:42

标签: rest http jax-rs http-put

我听说在 REST 世界中,POST建议创建条目,而PUT建议更新条目。

首先,我想确认一下这个陈述。

然后,使用这个假设,假设我有一个@POST方法来创建用户和一个@PUT方法来更新用户(用@QueryParam来传递用户ID)。

将参数传递给POSTPUT的正确方法是什么?

@FormParam是否适合@PUT?或者我应该在身体中传递JSON吗?

我应该以同样的方式为@POST@PUT或其他方式传递参数吗?

或者我应该使用POST吗?

编辑:这个问题最初显示了一个对我不起作用的例子,但这是因为我的测试工具做错了。它现在适用于POSTMAN。

1 个答案:

答案 0 :(得分:0)

是的,使用REST,您通常使用以下内容:

  • 要添加元素的元素列表资源的方法POST
  • 要完全更新元素的元素资源的方法PUT
  • 要部分更新元素的元素资源的方法PATCH

由于您必须发送的内容与资源的状态相对应,因此您必须在请求正文中提供。

这两个实体(用于添加和更新)类似,但存在一些差异。例如,如果您希望RESTful服务自动生成某些字段,则不必提供相应的字段。

以下是示例请求:

POST /contacts
{
    "lastName": "my last name",
    "firstName": "my first name",
}
(corresponding response status code: 201 - Created)

PUT /contacts/contactid
{
    "lastName": "my last name",
    "firstName": "my first name",
}
(corresponding response status code: 204 - No content)

您可以注意到JSON不是您可以使用的唯一格式。也可以使用XML,YAML等。

我认为以下链接可以为您提供一些提示:

希望它可以帮到你, 亨利

相关问题