Ich mag würde eine Methode, wie dies für die REST-Schnittstelle einer Ressource habenDropwizard/Jersey: Authentifizierung und JSON Parameter
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void add(@Auth User user, @Valid Food food) {
//consume
}
Dies ist jedoch nicht möglich, da ich einen Fehler wie: "SEVERE: Fehlende Abhängigkeit für Methode public void com.restaurant.FoodResource.add (com.restaurant.User, com.restaurant.Food) bei Parameter bei Index 0 SEVERE: Fehlende Abhängigkeit für Methode öffentlichen void com.restaurant.FoodResource .add (com.restaurant.User, com.restaurant.Food) bei Parameter bei Index 1 SEVERE: Meth od, öffentliches void com.restaurant.FoodResource.add (com.restaurant.User, com.restaurant.Food), kommentiert mit POST der Ressource, Klasse com.restaurant.FoodResource, wird nicht als gültige Ressource-Methode erkannt.
fand ich, dass es nicht möglich ist, zwei Parameter, die nicht mit bestimmten Anmerkungen Anmerkungen versehen zu haben, gemäß den Spezifikationen (3.3.2.1 Entity-Parameter) http://jsr311.java.net/nonav/releases/1.1/spec/spec3.html
Welche Möglichkeiten gibt es noch etwas tun zu? Die, die mir in den Sinn kommen, sind ein Objekt, das Benutzer und Essen kapselt, aber das scheint für mich keine nette Lösung zu sein.
Gibt es noch einen eleganteren Weg, so etwas zu tun? Kann ich die JSON Food-Repräsentation als @PathParam senden?
Seltsam, tat ich dies und arbeitete: 'public void modifyUser (@ Auth User authUser, @Valid Benutzer user) '. Ich musste den Benutzer posten, also habe ich den autHUser und den geposteten Benutzer getrennt. –