Jersey MessageBodyWriter nicht gefunden für media-type=text/plain
Ich versuche zu Folgen-Jersey-docs zu aktivieren, eine nicht-200-Antwort, wenn ein Fehler aufgetreten (https://jersey.java.net/documentation/latest/representations.html#d0e3586)
Mein code sieht wie folgt aus :
@POST
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public ResponseBuilder getData(@FormParam("one") String one,@FormParam("two") String two,@FormParam("three") String three) {
if(one.isEmpty() || two.isEmpty() || three.isEmpty()) {
logger.error("Missing params for getData");
throw new WebApplicationException(501);
}
return Response.ok();
}
}
Diese leider ergibt folgende Fehler :
[2015-02-01T16:13:02.157+0000] [glassfish 4.1] [SCHWERE] [] [org.glassfish.jersey.Nachricht.intern.WriterInterceptorExecutor] [tid: _ThreadID=27 _ThreadName= " http-listener-1(2)] [timeMillis: 1422807182157] [levelValue: 1000] [[
MessageBodyWriter nicht gefunden für media-type= "text/plain", Typ=class org.glassfish.jersey.Nachricht.intern.OutboundJaxrsResponse$Builder, genericType=class javax.ws.rs.core.Antwort$ResponseBuilder.]]
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist der Rückgabetyp der Methode. Es muss
Response
stattResponseBuilder
.Ändern Sie Ihren code wie folgt und es sollte funktionieren: