Me gustaría tener un método como este para la interfaz REST de un recursoDropwizard/Jersey: autenticación y el parámetro JSON
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void add(@Auth User user, @Valid Food food) {
//consume
}
Sin embargo, esto no es posible, ya que me da un error como: "SEVERE: Falta la dependencia del método public void com.restaurant.FoodResource.add (com.restaurant.User, com.restaurant.Food) en el parámetro en el índice 0 SEVERE: Falta la dependencia del método public void com.restaurant.FoodResource .add (com.restaurant.User, com.restaurant.Food) en el parámetro en el índice 1 SEVERE: Meth od, public void com.restaurant.FoodResource.add (com.restaurant.User, com.restaurant.Food), anotado con POST del recurso, clase com.restaurant.FoodResource, no se reconoce como método de recursos válido.
He encontrado que no es posible tener dos parámetros no anotados con ciertas anotaciones de acuerdo con las especificaciones (3.3.2.1) Entidad Parámetros http://jsr311.java.net/nonav/releases/1.1/spec/spec3.html
qué opciones existen para hacer aún algo como esto? Los que me vienen a la mente es un objeto que encapsula al usuario y la comida, pero eso no parece ser una buena solución para mí.
¿Hay alguna otra forma más elegante de hacer algo como esto? ¿Puedo enviar la representación de JSON Food como @PathParam?
extraño, lo hice y funcionó: 'modifyUser public void (@ Auth User authUser, @Valid User user) '. Necesitaba publicar el usuario, así que separé el authUser y el usuario publicado. –