接口参数都对了,但是第三方接口返回500
1. 看看header里面cookie之类的参数是否完整
2. 看看header是否设置了utf-8,例如:header.setContentType(MediaType.APPLICATION_JSON_UTF8);
HttpHeaders header = new HttpHeaders();
header.setAll(map); 这个方法里面可以设置一个Map,里面对应所有header;
有时候httpclient是通过map来添加header,resttemplate就可以用这个所有header进行设置,
有时候httpclient的header设置签名之类的,套过来resttemplate中不行,有可能就是签名重复了,
通过设置所有,就不会导致重复的问题
3. 字符编码问题:
采用UTF-8字符集进行解码:
URLDecoder.decode ("%E5%A4%A...",""UTF-8"");
采用utf-8字符集:
URLEncoder.encode("中文","UTF-8");
前端进行encode,后台decode,有时候身份会转换,你请求第三方也可能是前端...
URLDecoder和URLEncoder 对中文字符进行编码和解码参考:
https://blog.csdn.net/justloveyou_/article/details/57156039
4.访问接口报错
no suitable HttpMessageConverter found for response type and content type [text/html;charset=UTF-8]
参考地址: