Bevor ihr darauf hin, habe ich bereits versucht, diese LösungenSenden JSON-Antwort mit HTTP-Status mit benutzerdefinierten Objekten
Serialize javax.ws.rs Entity to json
und es hat nicht funktioniert. Hier ist, wie ich versuche, um die Antwort zu senden:
return Response.status(fe.getHttpError())
.entity(fe)
.type(MediaType.APPLICATION_JSON)
.build();
Wo fe
ein Objekt vom Typ ist FirstException
public class FlightException extends Exception {
private int httpError;
private int errorCode;
private String message;
public FirstException(int httpError, int errorCode, String message) {
this.httpError = httpError;
this.errorCode = errorCode;
this.message = message;
}
public int getHttpError() {
return httpError;
}
@Override
public String getMessage() {
return message;
}
}
Mein Maven haben bereits folgenden Eintrag
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.19</version>
</dependency>
Die Frage ist also Wie kann ich ein Response-Objekt mit HTTP-Fehlercode mit einer benutzerdefinierten Entität in JSON senden?
Als Randbemerkung, wenn ich diesen Eintrag zu den Glassfish-Einträgen aus dem Link ändere früher ich geschrieben, ich beim Start folgenden Fehlermeldung erhalten:
java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:662)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
das hat nicht geholfen. Ich habe immer noch das gleiche Problem –
Dann können Sie neu formulieren, was Sie brauchten. Sie möchten HTTP-Status-Code als Antwort senden, ich glaube, das tut es, erklären Sie, was oder welche Probleme genau Sie konfrontiert sind –
Wie ich bereits erwähnt, gibt es nicht JSON mit HTTP-Status zurück. Es gibt mir das gleiche Problem, das ich zuvor hatte. –