原因
其实就是因为没有设置他的编码格式为UTF-8,看了下默认的请求编码方式就是ISO编码的,因此改下编码即可
解决方式
加入一个produces 属性即可,网上说的yml配置文件修改tomcat的编码方式为UTF8我试过了不行,因为它默认就是UTF8,显然这里并不是控制的controller返回。当然,我没有确认自己项目中的服务器是否是tomcat,反正我的pom文件没有排除该依赖,应该是默认使用的tomcat服务器(据说有版本默认使用的服务器已经不是tomcat了)
@GetMapping(value = COURSE_INTRODUCE, produces = "text/html;charset=UTF-8")
public String getCourseIntroduce(@Validated CourseDetailRequest request) {
try {
return courseInfoService.getIntroduce(request);
} catch (Exception e) {
this.getFailResponse("獲取课程介绍失敗", e, log, Thread.currentThread().getStackTrace()[1].getMethodName(), request);
return "";
}
}