一、SpringBoot整合Gson
1、pom依赖
# 在SpringBoot中给我们自带了json解析器,我们需要移除SpringBoot自带的jackson,在添加Gson依赖
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-json com.google.code.gson gson org.springframework.boot spring-boot-starter-test test
2、User实体
/**
* @Create_Author msfh
* @Create_Date 2020-11-25 15:54:15
* @Description User实体
*/
public class User {
private Integer id;
private String name;
private Date birthday;
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", birthday=" + birthday +
'}';
}
/**省略set&get**/
}3、UserController
/**
* @Create_Author msfh
* @Create_Date 2020-11-25 15:55:15
* @Description UserController控制器
*/
@RestController
public class UserController {
@GetMapping("/user")
public List getUsers(){
ArrayList users = new ArrayList<>();
for (int i = 0; i < 10; i++) {
User user = new User();
user.setId(i);
user.setName("msfh-->"+i);
user.setBirthday(new Date());
users.add(user);
}
return users;
}
} 4、WebMvcConfig
# 在之前的一篇博客中有介绍,大家不太明白可以先看一下上一篇博客,这次就不放测试的结果了! # 在GsonHttpMessageConvertersConfiguration中含有GsonHttpMessageConverter # 在GsonAutoConfiguration中含有Gson # 我们可以分别写两个bean去实现gson的配置(GsonHttpMessageConverter或Gson) # 建议大家没事的话,可以看下源码
/**
* @Create_Author msfh
* @Create_Date 2020-11-25 16:05:56
* @Description WebMvcConfig配置类
*/
@Configuration
public class WebMvcConfig {
//@Bean
//GsonHttpMessageConverter gsonHttpMessageConverter(){
// GsonHttpMessageConverter converter = new GsonHttpMessageConverter();
// converter.setGson(new GsonBuilder().setDateFormat("yyyy-MM-dd").create());
// return converter;
//}
@Bean
Gson gson(){
return new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
}
}1、pom依赖
# 这个没什么好说的,还是移除自带的Jackson,添加fastjson,不再做过多解释
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-json com.alibaba fastjson 1.2.74 org.springframework.boot spring-boot-starter-test test
2、User实体(上边代码)
3、UserController(上边代码)
4、WebMvcConfig
# 在fastjson中稍微和之前两种不一致
# 在FastJsonHttpMessageConverter找到FastJsonConfig看一下
/**
* @Create_Author msfh
* @Create_Date 2020-11-25 16:05:56
* @Description WebMvcConfig配置类
*/
@Configuration
public class WebMvcConfig {
@Bean
FastJsonHttpMessageConverter fastJsonHttpMessageConverter(){
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
FastJsonConfig config = new FastJsonConfig();
config.setDateFormat("yyyy/MM/dd");
converter.setFastJsonConfig(config);
return converter;
}
}