【发布时间】:2021-12-15 22:45:36
【问题描述】:
我需要使用供应商 API,它在请求成功时以二进制格式返回文件(.pdf/.jpg/.png),而在请求失败时返回 JSON 响应。
Request 方法是 POST 类型的。
我尝试使用以下代码:
WebClient webClient = WebClient.create();
ResponseEntity<Object> apiResponse = webClient.post()
.uri(new URI("https://api.myapp.in/getDocument"))
.header("mobile", "XXXXXXXXX8")
.contentType(MediaType.APPLICATION_FORM_URLENCODED)
//.accept(MediaType.parseMediaType("application/pdf"))
.body(BodyInserters.fromFormData(map))
.retrieve()
.toEntity(Object.class)
.block();
当我执行上述代码时,它工作正常,我能够获得错误情况下的 JSON 响应,但是当请求成功时,它会给出如下错误:
Content type 'application/pdf' not supported for bodyType=java.lang.Object
【问题讨论】:
标签: java spring-boot webclient