JavaRestful风格的API定义接⼝的⼊参和返回值编码UTF-8
项⽬对外提供接⼝,但是发现返回值中⽂乱码!
原因是外部系统规定调⽤的接⼝⼊参和返回值必须是UTF-8编码的JSON格式,所以接⼝定义必须如下处理:
@RequestMapping(value ="/doAAA", method = RequestMethod.POST,headers ="Content-type=application/json;charset=UTF-8",produces ="text/html;ch arset=utf-8")
@ResponseBody
public String doApproval(@RequestBody MobileApprovalDoAssistParameter doAssistParameter)throws Exception {
log.info("***********receive doAssist json:"+ JSONString(doAssistParameter));
MobileApprovalResponseDTO mobileApprovalResponseDTO = iMobileApprovalService.doAssist(doAssistParameter);
JSONString(mobileApprovalResponseDTO);
百度api接口}
备注:上⾯是⾃⼰封装的接⼝,定义了⼊参是json格式并且是utf-8编码,返回值定义了text/html;charset=utf-8 ,因为⾃⼰代码⾥已经⼿动将对象转换成了JSON格式字符串,所以直接定义text/html格式就可以,如果⽅法返回的是⼀个对象,可以定义成application/json;charset=UTF-8,那么⽅法返回时就⾃动帮我们转化成json,这个根据⾃⼰的实际使⽤情况,⾃⾏处理⼀下就可以了。
⼊参是编码:headers = “Content-type=application/json;charset=UTF-8”
返回值:produces = “text/html;charset=utf-8”
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论