第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JAVA SprimgMVC JSON返回中文問號

JAVA SprimgMVC JSON返回中文問號

千萬里不及你 2019-01-16 17:17:46
問題描述 請求的controller @RestController @RequestMapping("/user") …… @PostMapping("/unit/update") public String unitUpdate(@Validated(VaildatedInterface.UserUnitUpdate.class) UserUnit userUnit) { return JsonUtil.formatInsertJSON(userService.updateUserUnit(userUnit)); } 接口請求返回json中的中文內(nèi)容變成[???] { "code": "1402", "message": "??????", "data": "id ID???? ", "success": false } 正確的返回應(yīng)該是 { "code": "1402", "message": "對象校驗異常", "data": "id ID不能為空", "success": false } 問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法 spring-mvc配置文件里沒有添加msgconver這個配置的時候所有的json中文返回都是[?]; <mvc:annotation-driven> <!-- 指定http返回編碼格式,不然返回ajax請求json會出現(xiàn)中文亂碼 --> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8" index="0"> </constructor-arg> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> <value>*/*;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> 我添加了配置之后,如果請求成功能夠進(jìn)入到controller里面返回中文沒問題;但是我給controller層加了一個統(tǒng)一的異常處理,經(jīng)過異常處理返回的json中文又變成[?];上面的返回中文[?]就是經(jīng)過了controllerException的,但是控制臺打印的異常是中文沒問題的; @ControllerAdvice @ResponseBody public class ControllerException { private Logger logger = LoggerFactory.getLogger(this.getClass()); @ExceptionHandler(BindException.class) public String bindException(Exception e) { List<ObjectError> eList = ((BindException) e).getBindingResult().getAllErrors(); String errStr = ""; for(int i=0; i< eList.size(); i++) { errStr += ((FieldError) eList.get(i)).getField() + " " + eList.get(i).getDefaultMessage() + " "; } return resultError(e, CodeEnum.CODE_1402, errStr); } …… /** * 異常打印返回 * @param e 異常類 * @param c 編碼 * @return */ private String resultError(Exception e, CodeEnum c) { logger.warn(e.getMessage()); logger.warn(c.getMessage()); return JsonUtil.formatJSON(c, e.getMessage()); } } 相關(guān)代碼 另外我給tomcat的啟動添加了-Dfile.encoding=utf-8 你期待的結(jié)果是什么?實際看到的錯誤信息又是什么? 發(fā)生異常是請求到controller對象校驗不通過返回的,這個時候還需要給配置哪些才能讓全局返回json中文都不會出問題呢?
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 507 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號