我对Feign客户有问题。我只需要发送一个文件,并且我不想使用多部分MIME类型(因为我认为一个文件不是必需的)。 我可以通过创建编码器到字节数组来做到这一点,但是我想使用一些流。
如何编写Feign编码器,该编码器将接受一些Java流并在不将文件数据缓冲到内存中的情况下发送它。 Feign客户甚至可以进行这种二进制传输吗?
我已经看到一些使用MultiPartFile的示例,该示例使用了“ multipart / form-data”,但是我不想使用multipart。
是否可以编写这样的Feign编码器?
更新 Feign是否可以发送二进制数据而无需将数据缓存到字节数组中。根据{{3}},不是。
答案 0 :(得分:0)
这实际上是很直接的。只需使用byte[]
作为参数即可。
public interface PostAPI {
@RequestLine("POST /post")
@Headers({
"Content-Type: application/octet-stream",
"Accept: text/plain"
})
String length(byte[] blob);
}
我选择一个String作为返回值,但是您可以返回任意值。