Jersey客户端发布二进制数据application-octet/stream

fer*_*spr 8 java jersey-client

我想使用Jersey Client执行包含二进制数据的帖子.

卷曲的等价物是:

curl -v --header "Content-Type:application/octet-stream" --data-binary "abc" http://example.com
Run Code Online (Sandbox Code Playgroud)

我在官方文档中找不到如何做到这一点:http://jersey.java.net/documentation/latest/user-guide.html#client

谢谢.

Sep*_*tem 9

我认为您可以使用Entity调用POST请求,该请求封装二进制数据,如下所示:

Client client = ClientBuilder.newClient();
WebTarget webTarget = client.target("http://example.com/rest");
Response response = webTarget.request(MediaType.TEXT_PLAIN_TYPE)
                .post(Entity.entity("abc", MediaType.APPLICATION_OCTET_STREAM));
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,我最终使用:Builder webResourceBuilder = webResource.getRequestBuilder(); webResourceBuilder.type(MediaType.APPLICATION_OCTET_STREAM); byte [] buffer = {'a','b','c'}; ClientResponse response = webResourceBuilder.post(ClientResponse.class,new ByteArrayInputStream(buffer)); (2认同)