java - 转换出版商也许>
问题描述
我有以下方法
public Maybe<HttpResponse<?>> post(Publisher<CompletedFileUpload> files) {
MultipartBody.Builder requestBody = MultipartBody.builder();
return Flowable.fromPublisher(files).flatMap(file -> {
requestBody
.addPart("file", file.getFilename(), MediaType.TEXT_PLAIN_TYPE, file.getBytes())
.addPart("id", "asdasdsds");
return this.iProductClient.post(requestBody.build());
});
}
来自的返回类型this.iProductClient.post(requestBody.build());
是Maybe<HttpResponse<?>>
如何将下面的代码转换为返回Maybe<HttpResponse<?>>
,目前下面的方法有错误
return Flowable.fromPublisher(files).flatMap(file -> {
requestBody
.addPart("file", file.getFilename(), MediaType.TEXT_PLAIN_TYPE, file.getBytes())
.addPart("id", "asdasdsds");
return this.iProductClient.post(requestBody.build());
});
解决方案
您可以在请求发送中使用collect
,然后使用 flatmap:
return Flowable.fromPublisher(files)
.collect(MultipartBody::builder, (requestBody, file) -> {
requestBody
.addPart("file", file.getFilename(), MediaType.TEXT_PLAIN_TYPE, file.getBytes())
.addPart("id", "asdasdsds");
})
.flatMapMaybe(requestBody -> iProductClient.post(requestBody.build()))
;
推荐阅读
- javascript - 如何在视口中居中引导 5 模态对话框?
- python - Django 404 垃圾邮件
- python - 从 Function App 读取 Azure KeyVault 机密
- node.js - Node.js 中的 AEAD AES-256-GCM
- c# - 在c#中遍历通用类型列表
- core-data - 如何在 Intent Handler 中使用获取数据来编辑 Widget iOS 14?
- javascript - 为什么在新日期中向 YYYY-MM-DD 字符串添加空格会更改日期?
- android-recyclerview - 如何实现左右滑动以显示回收站视图中的按钮?
- jira - 如何执行密码授予以获取 Jira Software API 的身份验证令牌?
- python - 将日期和月份字段添加到不包含它们的日期字段