I @BeanParam Trikot Annotation die folgende Art und Weise zu verwenden, versuchen:@BeanParam Ergebnisse der Verwendung von Jersey in einem 415 Fehler
Das ist meine Bohne:
public class BeanParamModel {
@QueryParam(value = "param1")
private String param1;
public BeanParamModel(@QueryParam("param1") String param1) {
this.param1 = param1;
}
public String getParam1() {
return param1;
}
public void setParam1(String param1) {
this.param1 = param1;
}}
Und das ist die Ressource Methode, die benötigt verwenden sie es:
@Consumes("*/*")
@Path("mypath")
@GET
public Response getUpgradeStatus(@QueryParam("param1") String param1, @BeanParam BeanParamModel user) {
return Response.ok().build();
}
nun einen Komponententest ich möchte dies testen verwendet, die eine hTTP-Anforderung zu einem Testserver mit der folgenden uRL sendet:
GET http://path_to_resource?param1=1
Mein Problem ist, dass die Ergebnisse in einem 415-Antwort mit Jersey Druck Diese Nachricht:
Ein Nachrichtentext Leser für Java-Klasse BeanParamModel und Klasse Java-Typ BeanParamModel und MIME-Medientyp application/Oktettstream wurde nicht gefunden. Die registrierten Nachrichtentext Leser kompatibel mit den MIME-Medientypen sind: ...
Ich habe versucht, das Hinzufügen einen „application/x-www-form-urlencoded“ Header aber die Nachricht wiederholt für diesen Header-Typen als Gut. Ich habe auch versucht, eine Anwendung/JSON-Header verwenden, dies resultiert in EOF-Expection von der Jackson-Mapper aufgrund des Endes der Eingabe.
Kann mir jemand sagen, was ich nicht richtig mache? Aus der Jersey-Dokumentation von @BeanParam scheint das ziemlich einfach zu sein.
Warum konsumieren Sie '*/*' ?. Verstehst du die Bedeutung davon für deine Bewerbung? –
Der obige Code ist eine vereinfachte Version einer Ressource, um das Problem zu demonstrieren, das ich habe, nicht die tatsächliche Anwendung. Bezüglich der Verbrauchsannotation: Ich habe versucht, Anwendungstypen zu verwenden, die mit dem Header übereinstimmen, den ich sende, aber das ohne Wirkung, immer noch die gleichen Fehler erhaltend. – Anat