2016-05-31 157 views
0

我想创建一个HTTP端点来删除一个属性,但我想添加一些额外的元数据关于谁在执行删除。我在Jersey有以下服务器端代码。泽西DELETE请求与查询参数

@DELETE 
@Path("/properties/{property_id}?deleted_by={deleted_by}") 
public Response deleteProperty(
    @PathParam("property_id") int propertyId, 
    @QueryParam("deleted_by") String deletedBy) 
{ 
    ... 
} 

然而,当我尝试用一​​个url打端点就像/properties/123?deleted_by=test我得到一个404。如果我删除的查询参数一切按预期工作。 Jersey不支持DELETE的查询参数还是我搞砸了?

+0

确保在客户端发送http删除请求 – Dimitri

回答

4

您不必在路径注释中提及查询参数。只是以下应该很好:

@DELETE 
@Path("/properties/{property_id}") 
public Response deleteProperty(
    @PathParam("property_id") int propertyId, 
    @QueryParam("deleted_by") String deletedBy) 
{ 
    ... 
} 

Jersey documentation有一个额外的例子。

+0

从工作路径中删除查询参数。谢谢! – Dillen