【发布时间】:2021-12-28 23:56:27
【问题描述】:
这是我的代码。
public Mono<RespDto> function(TransReqDto1 reqDto1, TransReqDto2 reqDto2, String token) {
MultipartBodyBuilder builder = new MultipartBodyBuilder();
builder.part("TransReqDto1", reqDto1);
builder.part("TransReqDto2", reqDto2);
MultiValueMap<String, HttpEntity<?>> parts = builder.build();
LinkedMultiValueMap map = new LinkedMultiValueMap();
map.add("TransReqDto1", reqDto1);
map.add("TransReqDto2", reqDto2);
return
client.post()
.uri("/api")
.body(BodyInserters.fromValue(reqDto1))
.headers(h -> h.setBearerAuth(token.split(" ")[1]))
.retrieve()
.bodyToMono(RespDto.class);
}
我的问题是我需要同时发送 reqDto1 和 reqDto2。我已经使用上面的代码成功发送了 reqDto1,但我想不出一种发送两个对象的方法。 尝试了 MultipartBodybuild 和 MultiValueMap 但两者都从目标 API 返回错误。请给我一些提示!!谢谢
这是我要调用的 API!
@PostMapping("")
@ApiOperation(value = "test", notes = "test")
public Mono<?> transPost(@Valid @RequestBody TransReqDto1 reqDto1,
@Valid @RequestBody TransReqDto2 reqDto2) {
return testService.function(reqDto1, reqDto2);
}
【问题讨论】:
-
请编辑问题,包括您尝试集成的 API。
-
用目标api编辑!
标签: java spring-boot spring-webclient