Ich erstelle einen RESTful-Dienst für den Datenzugriff.Objekt von @PathParam abrufen
Also begann ich diesen Dienst zu schreiben, zuerst habe ich eine ReadOnlyResource
Schnittstelle mit dem folgenden Code:
public interface ReadOnlyResource<E, K> {
Collection<E> getAll();
E getById(K id);
}
Wo E der zurückgegebene Art und K ist das Schlüsselelement ist.
Also, wenn ich mit <Integer, Integer>
Umsetzung bin, werde ich den Schlüssel wie t injizieren
@GET
@Path("/{id}")
@Override
public Integer getById(@PathParam("id") Integer id) {
return null;
}
Aber als mein Schlüssel ist komplexer, wie folgt aus:
public class ComplexKey {
private String name;
private int value;
}
Wie kann ich diese injizieren also kann ich meine Schnittstelle benutzen?
Gibt es eine Möglichkeit, beide Params zu injizieren und den Schlüssel mit ihnen zu erstellen?
EDIT: die Lösung von @QueryParam hilft nicht, weil das, was ich zu erreichen versuche, ist zu/einige Namen/gewisse Anzahl und erhält eine ComplexKey Instanz gehen, die die einen Namen enthält und einige Zahlenwerte aus dem url.
Mögliche Duplikate von [Übergeben benutzerdefinierten Abfrageparameter] (http://stackoverflow.com/questions/30403033/passing-custom-type-query-parameter) – zloster
Nicht genau, wenn ich wollte eine Möglichkeit, dass ich es mit meiner aktuellen Schnittstelle implementieren kann, muss das 1 Argument an die Methode übergeben werden. –
TalOhana