Wie kann ich einen generischen Listenparameter an einen JAX-RS-Dienst senden? HierSenden eines generischen Listenparameters an einen JAX-RS-Webdienst
ist die Methode Unterschrift:
@POST
@Path("findcustomers")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void FindCustomers(@PathParam("branchId") long branchId,
@PathParam("searchOptions") List<SearchOption> searchOptions)
throws Exception {
...
}
SearchOption
ist eine einfache Java-Klasse, bestehend aus primitiven Typen:
class SearchOption {
int channelId;
int locationId;
int targetStatus;
}
Der obige Code löst eine Ausnahme besagt, so etwas wie:
Keine Injektionsquelle für einen Parameter vom Typ gefunden [setzen Sie die Methodensignatur hier]
Warum senden Sie es nicht in der Anfrage Payload oder senden Sie Ihre Suchkriterien als Abfrageparameter? –
Nebenbei bemerkt, stellen Sie sicher, dass Sie ['javax.ws.rs.PathParam'] (http://docs.oracle.com/javaee/7/api/javax/ws/rs/PathParam.html) anstelle von [ 'javax.websocket.server.PathParam'] (http://docs.oracle.com/javaee/7/api/javax/websocket/server/PathParam.html). –
@ CássioMazzochiMolin Danke. Es gibt mehrere Optionen zum Senden an den Server, und alle sind komplexe Objekte. Ist es möglich, alle als Abfrageparameter zu senden? –