Invalid mime type “application/json; utf-8=“: ‘value‘ must not be empty解决方法

遇到一个很奇怪的问题

org.springframework.http.InvalidMediaTypeException: Invalid mime type "application/json; utf-8=": 'value' must not be empty

	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.doExecute(RestTemplate.java:741)
	at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:674)
	at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:418)

调用的地方是

response = restTemplate.postForObject(url, httpEntity, Xxx.class);

这是一个很老的调用了,2018年的代码,忽然报这个错,很奇怪。
网上找了一下,没找到有遇到这个问题的,就只能根据日志解决了。
看源码可以看到是这个方法调用的时候出错
在这里插入图片描述
是以下地方调用的
在这里插入图片描述
可以看到应该是在getFirst中未取到值造成的。
在这里插入图片描述
在getFirst方法中,是直接调用了headers.getFirst方法,headers的定义
在这里插入图片描述

到这已经看不出太大问题了,就继续向上找吧。
在HttpMessageConverterExtractor的getContentType方法中,可以看到
在这里插入图片描述
那这样就可以找到解决的方法了,直接在请求的header中调用setContentType方法即可

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

这样在调用的时候就可以直接取到了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值