Dropwizard/Jersey: Аутентификация и параметр JSON

Я хотел бы иметь подобный метод для интерфейса 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?

6
задан Hansi 21 May 2012 в 19:55
поделиться