Spring Restful支持json数据多语言

时间:2016-03-29 10:38:31

标签: java json spring rest spring-mvc

我已实施春季休息服务。它按预期正常工作,但问题是有时请求body json数据有多种语言,如中文,法语,日语。

请求正文

{
    "firstName": "demo",
    "lastName": "françois1",
    "email": "你好"
}

在Controller方法中,我以下面的格式获取json数据

{
    "firstName": "demo",
    "lastName": "ad�la�de",
    "email": "??"
}

用户给予休息服务和春季控制器方法返回给我的方式有很多不同。任何人都可以帮我解决问题吗?

2 个答案:

答案 0 :(得分:2)

web.xml中,尝试添加过滤器

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/springmvc_path/*</url-pattern>
</filter-mapping>

/springmvc_path/*部分替换为您的springMVC servlet&#39; s <url-pattern>

然后重新启动Web服务器。

答案 1 :(得分:0)

确保您的字符编码设置为utf-8。

如果在server.xml中使用类似下面的tomcat,将确保使用utf-8字符正确编码实际的uri:

max

和web xml

<Connector port="8080" maxHttpHeaderSize="8192"
 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
 enableLookups="false" redirectPort="8443" acceptCount="100"
 connectionTimeout="20000" disableUploadTimeout="true" 
 compression="on" 
 compressionMinSize="128" 
 noCompressionUserAgents="gozilla, traviata" 
 compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
 URIEncoding="UTF-8"
/>