2016-05-31 4 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. Если удалить параметр запроса все работает как задумано. Не поддерживает ли Джерси параметры запроса для 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

Смежные вопросы