报错:
org.springframework.http.InvalidMediaTypeException: Invalid mime type "application": does not contain '/'
at org.springframework.http.MediaType.parseMediaType(MediaType.java:586)
at org.springframework.http.HttpHeaders.getContentType(HttpHeaders.java:967)
at org.springframework.web.client.HttpMessageConverterExtractor.getContentType(HttpMessageConverterExtractor.java:136)
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:93)
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:996)
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:979)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:739)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:672)
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:447)
解决:
使用Spring Boot的RestTemplate进行远程服务调用的时候产生这个错。
使用PostMan请求可以查看响应体中的参数。
响应体中的Content-Type的值的格式为application,此类型数据RestTemplate无法进行解析。
Spring中MediaType.class类中规定了Content-Type的格式为*/*。
因此,正确格式应该为*/*的格式。
因此,需要目标应用服务对响应体参数进行正确修改。