从Spring Boot 2 WebClient的响应中获取报头



我想从web客户端响应接收报头(特别是内容类型)。我发现这段代码与flatmap-mono-getHeaders,但它不工作。

org.springframework.web.reactive.function.UnsupportedMediaTypeException: Content type 'image/tiff' not supported for bodyType=org.company.MyResponse

我该如何修复它?或者有人可以推荐一个更简单的解决方案。

Mono<Object> mono = webClient.get()
.uri(path)
.acceptCharset(StandardCharsets.UTF_8)
.retrieve()
.toEntity(MyResponse.class)
.flatMap(entity -> Mono.justOrEmpty(entity.getHeaders().getFirst("content-type")));
Object rs = mono.block();
public class MyResponse {
Object body;
Integer status;
String contentType;
}

我想从web客户端响应接收报头(特别是内容类型)

一般来说,你可以像这样访问响应头:

ResponseEntity<MyResponse> response = webClient.get()
.uri(path)
.acceptCharset(StandardCharsets.UTF_8)
.retrieve()
.toEntity(MyResponse.class)
.block();
HttpHeaders headers = response.getHeaders();
MediaType contentType = headers.getContentType();

从您粘贴的错误中,您似乎正在访问显然不能转换为MyResponse类的图像(image/tiff)。

相关内容

  • 没有找到相关文章

最新更新