- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 Jersey
服务将二进制数据输出为 StreamingOutput
、MediaType.APPLICATION_OCTET_STREAM
。
如何使用 Jersey
2 实现客户端来处理来自此类服务的响应
?
最佳答案
下面是一种实现 Jersey 2 客户端的方法,用于从 REST 服务下载文件,该服务返回二进制数据作为 StreamingOutput
和 MediaType.APPLICATION_OCTET_STREAM
-
Client client = ClientBuilder.newClient();
// change SERVER_URL, API_PATH and PATH as per REST API details
WebTarget webTarget = client.target(SERVER_URL).path(API_PATH).path(PATH);
Invocation.Builder invocationBuilder = webTarget.request();
Response response = invocationBuilder.get();
String contentDispositionHeader = response.getHeaderString("Content-Disposition");
String fileName = contentDispositionHeader
.substring(contentDispositionHeader.indexOf("filename=") + "filename=".length()).replace("\"", "");
InputStream responseStream = response.readEntity(InputStream.class);
// Set location here where you want to store downloaded file.
// It will replace the file if already exist in that location with same name.
Files.copy(responseStream, Paths.get("H:/"+ fileName), StandardCopyOption.REPLACE_EXISTING);
System.out.println("File is downloaded");
关于java - StreamingOutput 的 Jersey 2 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22217660/
我有一个安静的网络服务。我正在考虑从类中的另一个方法调用一个方法。是否可以?如果是这样,我如何读取下面示例中的流输出的内容?另外,我分别需要这两个函数,以便我可以返回二进制文件或显示文本文件的文本 @
我正在尝试将 StreamingOutput 转换为 Java 中的字符串,以将其传递给另一个方法。它生成字符串,但稍后会引发以下错误。 JAXRSUtils logMessageHandlerPro
我已经在我的 Jersey Resource 类中实现了流输出。 @GET @Path("xxxxx") @Produces(BulkConstants.TEXT_XML_MEDIA_TYPE})
我有两个关于 Jersey 中的 StreamingOutput 的问题: 1) 它是否已被 jax-rs 运行时缓冲?我见过一些在重写 write() 方法时从 OutputStream 对象创建
我在从 StreamingOutput 实现中抛出 WebApplicationException 时遇到困难。我希望下面的代码返回 501,但curl 报告 curl: (52) Empty rep
JAX-RS 提供了 StreamingOutput 接口(interface),我们可以实现它来对我们的响应主体进行原始流处理。 public interface StreamingOutput {
我有一个类,它将视频作为 mp4 文件发送给用户(Http 请求/响应)我想用主要逻辑模拟方法来测试它。我的代码 public StreamingOutput videoAsStream(final
有人可以发布一个示例,说明如何在 Jersey 中将 StreamingOutput 设置为 Response 对象中的实体吗? 我还没有找到这样的例子。 最佳答案 看看这是否有帮助: @GET @P
我们如何使用来自 AngularJS 的 get 请求来下载文件,并使用 REST API 到 Java 作为中间层,并且在 Java 层,数据根据 API 中的查询参数作为输入流。请帮忙 流程如下:
我在 Response 对象中返回一个 StreamingOutput: @GET @Path("/downloadFile/{filename}") @Produces(MediaType.TEXT
我的 ReSTLet 资源遇到问题。它使用 TrueZip 构建 Zip 存档的子集并允许用户下载它。 // Create a Streaming Response Entity. final
我在 spring boot 中创建了一个 web 应用程序,我想在其中使用 Spring MVC rest 框架而不是 jersey。我正在尝试做这样的事情,但它给了我错误。我想要 Spring M
我有一个 Jersey 服务将二进制数据输出为 StreamingOutput、MediaType.APPLICATION_OCTET_STREAM。 如何使用 Jersey 2 实现客户端来处理来自
我正在使用 Jersey StreamingOutput在我们升级到 Jersey 2.16 之前,它一直工作得很好。事情是这样的。我的 StreamingOuput在某些情况下产生输出非常缓慢。我确
我正在做类似于中提到的事情 Example of using StreamingOutput as Response entity in Jersey @GET @Produces(MediaType
StreamingOutput 的OutputStream 是否应该被实现类关闭? java-doc 没有给出任何建议。我猜它只是委托(delegate)给底层 ServletOutputStream
我的网络服务代码 final StreamingOutput stream = new StreamingOutput() { @Override public void write(fina
下面是我用来尝试流回 PDF 的代码。我之前在另一个环境中做过这件事,但由于某种原因,没有调用 StreamingOutput 上的 write() 方法。 没有错误被记录下来,它已经到了在日志中显示
我有一个返回StreamingOutput对象的方法。我想将这个 StreamingOutput 对象写入 Excel 文件。我编写了以下代码,这给了我 java.lang.ClassCastExce
我已使用此方法为我的 REST Web 服务创建一个 API,以便使用 jersey JAX-RS 下载文件: public Response returnFile(String filePath,S
我是一名优秀的程序员,十分优秀!