Java:没有id的PUT请求被提交为POST

时间:2014-08-11 21:31:10

标签: java jersey java-ws

我已为相同的实体创建和更新api调用。如果用户发送没有对象ID的PUT请求,则控制器将其作为POST请求接受并创建新对象。
我该如何防止这种情况?

@POST
@Consumes({MediaType.APPLICATION_XML})
@Produces({MediaType.APPLICATION_XML})
public Response create(Entity entity){}


@PUT
@Path("/{id}")
@Consumes({ MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_XML })
public Response update(@PathParam("id") int id,Entity entity){}

有没有办法让更新需要请求参数?这也可以解决这个问题。

1 个答案:

答案 0 :(得分:1)

@Path添加RegEx模式。

语法:

    @Path("/{" variable-name [ ":" regular-expression ] "}")

示例:

    @Path("/{id: <replace_with_reg_exp>}")