国际化在zuul中实现
生活随笔
收集整理的這篇文章主要介紹了
国际化在zuul中实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
springcloud框架中的zuul過濾器是對所有請求做過濾,我們可以在這做權限、登錄等校驗,此處也可能直接反饋給前端異常信息,有異常提示的話就有涉及到國際化問題。
之所以在此處添加的國際化失敗,是因為過濾器在攔截器之前執行,而國際化的語言標識處理又是在攔截器中去處理的,所以國際化失敗。找了很多資料發現沒有寫到這塊的東西。思考了下,我在過濾器中把攔截器的工作做了,那不就可以了嗎。親測可行,在zuulfilter中添加
//處理國際化攔截器執行在filter之后問題 LocaleChangeInterceptor localeChangeInterceptor = SpringBeanUtils.getBean(LocaleChangeInterceptor.class);//LocaleChangeInterceptor 需要事前設置成spring bean localeChangeInterceptor.setParamName("lang");//設置國際化的請求參數 try {localeChangeInterceptor.preHandle(request,response,null); } catch (ServletException e) {log.debug("國際化設置錯誤:{}",e); } CookieLocaleResolver cookieLocaleResolver = SpringBeanUtils.getBean(CookieLocaleResolver.class);//CookieLocaleResolver 需要事前設置成spring bean request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE,cookieLocaleResolver);總結
以上是生活随笔為你收集整理的国际化在zuul中实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springMVC 过滤器与拦截器的执行
- 下一篇: OutOfMemoryError: GC