最近在搭建springboot项目时 遇到一个问题,响应的数据是乱码的 。以下是我的解决方案,希望对大家有所帮助。
1.修改默认StringHttpMessageConverter配置
@Api("MistraController")
@RestController
@RequestMapping(value = "/mistra")
public class MistraController {
@ApiOperation("启动测试")
@GetMapping(value = "/test")
public String test() {
return "☆☆ 项目启动成功 ☆☆";
}
}
返回String数据到浏览器时中文乱码。查看Response返回编码:
查看StringHttpMessageConverter源码(截取部分):
public class StringHttpMessageConverter extends AbstractHttpMessageConverter {
//万恶之源,默认就是ISO_8859_1
public static final Charset DEFAULT_CHARSET = StandardCharsets.ISO_8859_1;
}
再看看人家HttpEncodingProperties默认的就是UTF-8(截取部分),这样多好:
@ConfigurationProperties(prefix = “spring.http.encoding”)
public class HttpEncodingProperties {
public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
}
解决方法一
在RequestMapping里设置
prod