1

我已经为相同的实体创建和更新 api 调用。如果用户发送一个PUT没有对象 ID 的请求,控制器将其作为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){}

有没有办法使更新所需的请求参数?这也可以解决问题。

4

1 回答 1

1

从您的@Path.

句法:

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

例子:

    @Path("/{id: <replace_with_reg_exp>}")
于 2014-08-11T21:51:41.637 回答