使用spring-boot實現的rest接口拋出異常時,頁面顯示中文亂碼解決

代碼:chrome

    @CrossOrigin
    @RestController
    @RequestMapping("api")
    public class RestAPI {    api

        @GetMapping("/exception")
            public int exception() throws Exception{
                    throw new Exception("中文亂碼");
            }
    }app

現象:ide

    

解決步驟:工具

     1.使用chrome的開發人員工具,發現以下圖中紅框部分縣市,charset設置不當,應爲utf-8繼承

     

    2.建立類繼承HandlerExceptionResolver接口,在接口中進行charset的從新設置,代碼以下接口

    @Component
    public class AExceptionHandler implements HandlerExceptionResolver {
            @Override
            public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
                    response.setCharacterEncoding("utf-8");
                    return null;
            }
    }utf-8

    備註:@Component註解時必須的,這樣,才能保證在啓動時,擴展的AExceptionHandler類被成功加載開發

    3.解決以後的現象io

    

相關文章
相關標籤/搜索