【问题标题】:REST API Single Request - Multiple responsesREST API 单个请求 - 多个响应
【发布时间】:2018-03-26 15:34:23
【问题描述】:

我正在为以下要求在 JAX-RS 2.0、JDK 8 中编写 REST API

POST API /server/fileUpload/(多部分表单数据)我需要在其中发送一个 Big .AI (Adobe Illustrator) 文件。

服务器获取文件并返回状态 202(已接受),确认文件传输成功。 (从端点到服务器)

现在在服务器上,我正在使用 Java + Imagemagik 将 .AI 文件(20-25 MB 文件)转换为小型 JPG 缩略图,放置在 Apache HTTP 服务器上并共享位置(如 http://happyplace/thumbnail0987.jpg

现在第二个响应应该来自状态为 200 OK 和缩略图 URL 的服务器

使用一个 REST API 是否可行? (异步/类似)

或者我应该将其拆分为 2 个 API 调用,请建议

【问题讨论】:

标签: java rest imagemagick jax-rs


【解决方案1】:

没有。在http中,一个请求得到一个响应。客户端必须发送第二个请求才能获得第二个响应。

【讨论】:

    【解决方案2】:

    您可以为此使用 WebSockets。

    【讨论】:

    • 请将此作为正确答案。一个没有引用、证明、链接、代码、扩展或任何东西的句子真的不能成为一个很好的答案。请解释为什么他必须使用 WebSockets。
    【解决方案3】:

    如果您从脚本调用,调用将是异步的,您可以在收到响应时处理缩略图 URL。当您从 java 程序调用时,我建议在不同的线程上运行它,如果执行不是顺序的,即(可以在不获取 URL 的情况下执行剩余的行)。如果剩余部分代码需要 url,您可以拨打一个电话并等待响应,然后执行剩余代码。

    【讨论】:

      【解决方案4】:

      您需要为这两种场景制作不同的 API。一个用于显示文件上传状态,另一个用于所有文件转换和操作。

      在客户端第二个请求必须是第一个请求的回调。

      【讨论】:

        猜你喜欢
        • 2021-07-17
        • 1970-01-01
        • 2016-02-21
        • 1970-01-01
        • 1970-01-01
        • 2017-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多