나는 즉, 사용자가 lang
매개 변수를 사용하여 로케일을 설정할 수봄 REST API 내 REST API의 국제화
http://somehost/resource?param1=value1&lang=fr
을 허용 할 로케일로 사용하고 설정하십시오.
저는 REST API에서 Spring의 i18n 기능을 사용하고 있습니다. 설명서를 살펴본 후 필요한 빈을 구성했습니다. Accept-Language
헤더가있는 요청을 보내면 제대로 작동하는 것처럼 보입니다. LocaleContextHolder.getLocale()
을 호출하면 헤더에 설정 한 로케일이 반환됩니다.
lang
URL 매개 변수를 사용하면 작동하지 않습니다.
어떻게 로캘 매개 변수를 사용하도록 Spring을 구성 할 수 있습니까?
<bean id="localeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
<bean
class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" >
<property name="interceptors">
<list>
<ref bean="localeInterceptor" />
</list>
</property>
</bean>
<bean id="sessionLocaleResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>
<bean id="messages" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>messages</value>
</list>
</property>
</bean>