【问题标题】:Feign to upload binary file without multipart假装上传二进制文件而不使用多部分
【发布时间】:2019-10-03 06:38:33
【问题描述】:

我遇到了 Feign 客户端的问题。我只需要发送一个文件,我不想使用多部分 MIME 类型(因为我认为一个文件不需要)。 我可以通过为字节数组创建编码器来做到这一点,但我想使用一些流。

如何编写 Feign 编码器,它将接受一些 java 流并将其发送而不将文件数据缓冲到内存中。 Feign 客户端甚至可以进行这种二进制传输吗?

我看过一些使用 MultiPartFile 的示例,它使用“multipart/form-data”,但我不想使用 multipart。

这样的Feign编码器可以写吗?

更新 是否可以通过 Feign 发送二进制数据而无需将数据缓冲到字节数组中。根据this 不是。

【问题讨论】:

    标签: java spring feign


    【解决方案1】:

    这实际上非常简单。只需使用byte[] 作为参数即可。

    public interface PostAPI {
        @RequestLine("POST /post")
        @Headers({
                "Content-Type: application/octet-stream",
                "Accept: text/plain"
        })
        String length(byte[] blob);
    }
    

    我选择一个字符串作为返回值,但你可以返回任何你喜欢的。

    【讨论】:

    • OP 要求提供一种无需将数据缓冲到内存中的方法。
    猜你喜欢
    • 2015-08-01
    • 2013-05-08
    • 2018-02-27
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多