最近在公司项目上升级了Springboot版本,出了点问题(
在访问的正文中使用http客户端的测试
# # get http://localhost :8081/ebook/list? agenum=1pagesize=10000 accept : application/JSON的结果
跑完步发现乱码去百度后,不知道百度上说的都是设置好的还是没有效果,是自己傻了还是找不到相应的文章
有两种方法可以通过自己研究和阅读文档来解决这个问题
解决方案1
在配置文件中修改以下内容
#解析界面返回中文均为乱码server.servlet.encoding.charset=utf-8 server.servlet.encoding.force=trueserver.server
当然,对于. yml配置,可以复制配置文件中的内容并到此站点生成。 网站是以下http://toyaml.com/index.html
解决方案2自己编写类并继承名为WebMvcConfigurationSupport的类代码
package com.zw.wiki.config; importorg.spring framework.context.annotation.configuration; importorg.spring framework.http.converter.httpmessageconverter; importorg.spring framework.http.converter.stringhttpmessageconverter; importorg.spring framework.http.converter.JSON.mapping Jackson2httpmessageconverter; importorg.spring framework.web.servlet.config.annotation.webmvcconfigurationsupport; import Java.nio.charset.standard charsets; import java.util.List; /**说明: *解决spring boot乱码问题* * @ author MAC * @ create 2021-09-286336045 pm */@ configurationpublicclassmvcconfiggarbledextendswebmvcconfigurationsupport { @ overrideprotectedvoidextendmessageconverters } 转换器:转换器(//控制器返回普通文本的中文乱码问题if (converterinstanceofstringhttpmessageconverter ) ) (stringhttpmessagage Controller在json对象中ofmappingjackson2httpmessageconverter ) (((mapping Jackson2httpmessageconverter ) ) ) 65 }}}原理如下
/**该方法为RequestMappingHandlerAdapter和exceptionhandlerexceptionresolver提供访问共享HttpMessageConverter的能力* requestmappinghangharter @RequestMapping注释的分析处理能力*包含exceptionhandlerexceptionresolver注释的分析处理能力*/PPI的getMessageConverters () if ) this.message /* *空方法,在子类中保留扩展*如果可以以这种方式为特定内容类型添加自己的实例,则优先级与阻止列表中其他同类实例相同。 */configuremessageconverters (this.message converters ); 添加if (this.message converters.isempty () /各种默认的converteradddefaulthttpmessageconverters ) )/*空方法,子类针对框架附带的各种默认类型的HttpMessageConverter实例的某些属性的自定义设置* /扩展消息转换器(this.message converters } return this.messageConverters; }