У меня есть метод обслуживания, который выглядит следующим образом
public void deleteData(Data data) {
this.dataDao.deleteData(data);
}
В классе данных есть несколько полей. Примерно так
private String name;
private String category;
private String discriminator;
private String description;
private String appName;
// getters & setters
Мне нужно написать метод отдыха для этого. Я думал написать что-то вроде этого
@DELETE
@Path("/deleteData")
public Response deleteData(Data data) {
// implementation
}
Проблема в том, что использование @DELETE
с телом объекта не рекомендуется или широко используется.
Мой вопрос: можно ли использовать @PUT
вместо @DELETE
? Я не могу изменить реализацию метода сервиса, так что это не вариант. Какая следующая лучшая альтернатива здесь?
UPDATE
В методе dataDao.deleteData()
поиск объекта не выполняется по ID объекта. Это выглядит примерно так:
DataEntity entity = this.findDataByNameAndAppName(data.getName(), data.getAppName());
Я решил сделать что-то вроде этого:
@DELETE
@Path("/deleteDataset")
public Response deleteDataset(@QueryParam("name") String name,
@QueryParam("appName") String appName) {
// implementation...
}
Я не нашел ни одного примера метода @DELETE
с @QueryParam
. Во всех примерах вместо этого использовалось @PathParam
.