Hinzufügen von benutzerdefinierten HTTP-Header zu JAX-RS-response?
Ich versuche, fügen Sie benutzerdefinierte HTTP-Kopfzeile zu einer Antwort in Apache CXF. Ich brauchen, um count MD5 von Inhalt und fügen Sie es als ein HTTP-header. Ich habe versucht, ResponseHandler oder Interceptor. Mein letzter Versuch war
@Component
public class ResponseBPAuthFilter extends AbstractOutDatabindingInterceptor {
public ResponseBPAuthFilter() {
super(Phase.MARSHAL_ENDING);
}
@Override
public void handleMessage(Message t) throws Fault {
Map headers = CastUtils.cast((Map)t.get(Message.PROTOCOL_HEADERS));
headers.put("Some-Header", Arrays.asList("test"));
}
}
aber es tut sich nix.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, hinzufügen
Response Object
wie Ihr Rückgabewert dem Sie festlegen können, Header..Brauchen Sie nicht zu verwenden Abfangjäger
Es klingt wie Sie dies erreichen können mit dem CXF CachedOutputStream.
Vergessen Sie nicht, konfigurieren Sie Ihre Abfangjäger in die cxf-Konfiguration-Datei:
Überprüfen CustomOutInterceptor.java im Ordner src/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/
von cxf-2.3.3 source-distribution für eine funktionierende demo:
Ich denke, der code, den Sie geschrieben, als Ihr letzter Versuch stammt aus Eins. Versucht das auch, konnte es nicht zu funktionieren...