一尘不染

如何在运动衫客户端中覆盖响应标头

json

我有一个球衣客户,我想与该客户解组。问题是远程Web服务将应用程序/八位字节流作为内容类型发送回去,因此Jersey不知道如何解组(我对XML等返回text
/ html具有类似的错误)。我无法更改Web服务。

我想做的是覆盖内容类型,并将其更改为application / json,以便jersey知道要使用哪个编组器。

我无法使用json marshaller注册application / octet-stream,因为对于给定的内容类型,我实际上可能会找回各种奇怪的地方。


阅读 318

收藏
2020-07-27

共1个答案

一尘不染

正如laz所指出的,ClientFilter是必经之路:

client.addFilter(new ClientFilter() {
    @Override
    public ClientResponse handle(ClientRequest request) throws ClientHandlerException {
        request.getHeaders().putSingle(HttpHeaders.CONTENT_TYPE, "application/json");
        return getNext().handle(request);
    }
});
2020-07-27