这是乱码同意解决的代码,
直接在Spring配置统一指定,这样就不用每次都去处理了!
我们可以在springmvc的配置文件上添加一段消息StringHttpMessageConverter转换配置!
<!--JSON乱码问题配置-->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="utf-8"></constructor-arg>
</bean>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
<property name="failOnEmptyBeans" value="false"></property>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
返回json字符串统一解决
一种是:在方法路
劲上加@ResponseBody,但是这样如果有很多方法都要返回json数据的话的话就每个都要加上@ResponseBody。
@Controller
@RequestMapping("/admin")
public
class ProgrammeController
{
@PostMapping("addCourseInfo")
@ResponseBody
public R addCourseInfo(@RequestBody CourseInfoVo courseInfoVo) {
String
id = courseService.saveSourseInfo(courseInfoVo);
return
R.ok().data("courseId", id);
}
}
另一种是:在类上直接使用 @RestController ,这样子,里面所有的方法都只会返回 json 字符串了,不用再每一个都添加@ResposeBody !方便于以后做前后端分离项目的时候要求统一返回json数据的时候用这个就很方便了,就没必要每个都加@ResponseBody
@RestController
@RequestMapping("/admin")
public
class ProgrammeController
{
@PostMapping("addCourseInfo")
public
R addCourseInfo(@RequestBody CourseInfoVo courseInfoVo) {
//返回添加之后的课程id,为了后面添加课程大纲使用
String id = courseService.saveSourseInfo(courseInfoVo);
return R.ok().data("courseId", id);
}
}