Spring Boot从入门到放弃-消息转换器
程序员文章站
2022-07-12 19:41:00
...
目录:
Spring Boot Application与Controller分离
摘要:
在WEB应用开发中,我们页面需要和后端进行数据交互,数据的编码格式容易对传输数据进行干扰,导致乱码问题,所以在SpringMVC中可以在XML文件中配置消息转换器对交互的数据进行字符集处理,然而Spring Boot不推荐使用XML文件,那么问题来了,怎么对Spring Boot进行消息转换器配置。
其实,Spring Boot已经为我们配置了消息转换器,所以我们不配置也没关系,但是作为一个不拘的程序员,我们肯定要自定义才显得自己高大上呀!
代码:
以@ResponseBody返回中文字符串为例(UTF-8):
package com.edu.usts.controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.nio.charset.Charset;
/**
* create by hgz
* 2019.12.4 21点13分
*/
@Controller
public class IndexController {
// 返回路径为"/ "即访问地址为:http://localhost:8080/
@RequestMapping("/")
@ResponseBody
public String index(){
return "消息转换器测试!";
}
//定义消息转换器
// Spring Boot 默认配置了消息转换器
@Bean
public StringHttpMessageConverter stringHttpMessageConverter(){
StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
return converter;
}
}
截图:
正常使用UTF-8成功。
改成GBK则出现乱码。
可以修改 Charset.forName("UTF-8") 进行字符集修改,我们改成gbk试试。
成功将数据交互的字符集改成gbk格式。
注意:
在消息转换器方法上需要加上@Bean注解。
源码gitee地址: