Я хотел бы иметь подобный метод для интерфейса REST ресурса
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void add(@Auth User user, @Valid Food food) {
//consume
}
Однако это невозможно, так как я получаю сообщение об ошибке: «СЕРЬЕЗНЫЙ: Отсутствует зависимость для метода public void com.restaurant.FoodResource.add(com.restaurant.User, com.restaurant.Food) в параметре с индексом 0 СЕРЬЕЗНЫЙ: Отсутствует зависимость для метода public void com.restaurant.FoodResource.add(com.restaurant.User, com.restaurant.Food) в параметре с индексом 1 СЕРЬЕЗНЫЙ: метод, public void com.restaurant.FoodResource.add(com.restaurant.User, com.restaurant.Food), снабженный аннотацией POST ресурса класса com.restaurant.FoodResource, не распознается как допустимый метод ресурса.
Я обнаружил, что невозможно иметь два параметра, не аннотированные определенными аннотациями в соответствии со спецификациями (3.3.2.1 Параметры объекта) http://jsr311.java.net/nonav/releases/1.1/spec/spec3.html
Какие существуют варианты, чтобы сделать что-то подобное? Мне на ум приходят объекты, инкапсулирующие User и Food, но это не кажется мне хорошим решением.
Есть ли другой более элегантный способ сделать что-то подобное? Могу ли я отправить представление JSON Food как @PathParam?