gpt4 book ai didi

java - 将 gzip 压缩的 json 发布到 Jersey 服务

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:00 25 4
gpt4 key购买 nike

Jersey webmethod 接收 json 并返回 json,我创建了一个客户端来使用 gzip 编码发布 json,我不知道这是对要发布的 json 进行编码的正确方法,我想确认请求正文是否真的被压缩?

这是 Jersey 网络方法

 @POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Path("/getgzip")
public RPGZIP postDocument(RGZIP gzip){
RPGZIP _response = new RPGZIP();
_response.rpid = gzip.docid;
_response.rpdata = gzip.docdata;
return _response;
}

这是消费 Jersey 的客户端类

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.Response;
import com.gzip.RGZIP;
import org.glassfish.jersey.message.GZipEncoder;
public class rclient {
public static void main(String[] args){
String REST_URI =
"http://localhost:8084/TestGZip/webresources/gzip/getgzip";
Client client = ClientBuilder.newClient();
client.register(GZipEncoder.class);
RGZIP rzip = new RGZIP();
rzip.docid = 1234;
rzip.docdata = "Working..";
Response r =
client.target(REST_URI).request(MediaType.APPLICATION_JSON)
.post(Entity.entity(rzip, MediaType.APPLICATION_JSON));
System.out.println(r.readEntity(String.class));
}
}

最佳答案

要知道您的请求已被压缩,必须有一个像 Content-Encoding: gzip 这样的请求 header 发送到服务器,以便服务器知道它们必须解压缩有效负载

您在代码中所做的事情是正确的。

关于java - 将 gzip 压缩的 json 发布到 Jersey 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46481857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com