假装上传二进制文件而无需分段

时间:2019-10-03 06:38:33

标签: java spring feign

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

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

我已经看到一些使用MultiPartFile的示例,该示例使用了“ multipart / form-data”,但是我不想使用multipart。

是否可以编写这样的Feign编码器?

更新 Feign是否可以发送二进制数据而无需将数据缓存到字节数组中。根据{{​​3}},不是。

1 个答案:

答案 0 :(得分:0)

这实际上是很直接的。只需使用byte[]作为参数即可。

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

我选择一个String作为返回值,但是您可以返回任意值。