Mi piacerebbe avere un metodo come questo per l'interfaccia REST di una risorsaDropwizard/Jersey: l'autenticazione e il parametro JSON
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void add(@Auth User user, @Valid Food food) {
//consume
}
Tuttavia, questo non è possibile, come si ottiene un errore del tipo: "SEVERE: dipendenza mancante per metodo public void com.restaurant.FoodResource.add (com.restaurant.User, com.restaurant.Food) al parametro nell'indice 0 SEVERE: dipendenza mancante per metodo public void com.restaurant.FoodResource .add (com.restaurant.User, com.restaurant.Food) al parametro all'indice 1 SEVERE: Meth od, public void com.restaurant.FoodResource.add (com.restaurant.User, com.restaurant.Food), annotato con POST di risorsa, classe com.restaurant.FoodResource, non è riconosciuto come metodo di risorsa valido.
ho trovato che non è possibile avere due parametri non annotati con alcune annotazioni secondo le specifiche (3.3.2.1 Parametri di entità) http://jsr311.java.net/nonav/releases/1.1/spec/spec3.html
Quali opzioni esistono per fare ancora qualcosa di simile? Quelle che mi vengono in mente sono un oggetto che incapsula User e Food, ma non mi sembra una buona soluzione.
C'è qualche altro modo più elegante per fare qualcosa di simile? Posso inviare la rappresentazione JSON Food come @PathParam? errori
Strano, ho fatto questo e ho lavorato: 'public void modifyuser (@ Auth User authUser, @Valid User user) '. Avevo bisogno di postare l'utente così ho separato l'authUser e l'utente postato. –