在调用第三方服务时,面对以下异常,我没有代码访问权限来更改响应内容类型。我不知道该怎么处理这件事。
- 使用soup-ui,我已经测试了服务,它在以下内容类型下工作正常,但在代码中我得到了错误。*
org.springframework.util.InvalidMimeTypeException:无效的mime类型“application/json charset=utf-8”:令牌“json charset=utf-8”中的令牌字符' '无效
SslContext sslContext = SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE)
.build();
HttpClient httpClient = HttpClient.create().secure(t -> t.sslContext(sslContext));
WebClient client = WebClient.builder().clientConnector(new ReactorClientHttpConnector(httpClient)).build();
String body = "{***************************JSON*****************************}";
WebClient.ResponseSpec responseSpec = client.post()
.uri("https://***************/************************/inquiry")
.headers(headers -> headers.setBasicAuth("*********", "***********"))
.header("X-TIB-TransactionID", "23234234234234").header("X-TIB-***************", "*************")
.contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.ALL)
.syncBody(body)
.retrieve();
String response = responseSpec.bodyToMono(String.class).block();
1条答案
按热度按时间brvekthn1#
你在异常消息中有你需要的一切:mime类型中不支持空格!
查看MediaType Spring类。它提供了像
APPLICATION_JSON_UTF8_VALUE
这样的常量,让你的生活更轻松!常量的值为:
application/json;charset=UTF-8
。这就是你需要使用的哑剧类型。