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