java 有谁能解释一下中间有空格的“application/json charset=utf-8”是什么mime类型吗

n53p2ov0  于 2023-04-28  发布在  Java
关注(0)|答案(1)|浏览(333)

在调用第三方服务时,面对以下异常,我没有代码访问权限来更改响应内容类型。我不知道该怎么处理这件事。

  • 使用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();
brvekthn

brvekthn1#

你在异常消息中有你需要的一切:mime类型中不支持空格!
查看MediaType Spring类。它提供了像APPLICATION_JSON_UTF8_VALUE这样的常量,让你的生活更轻松!
常量的值为:application/json;charset=UTF-8
这就是你需要使用的哑剧类型。

相关问题