Springboot之输出json数据

接着上一篇的helloworld来说:


可以在pom文件中引入lombok.jar

省去set,get代码

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
</dependency>

重新建一个实体类:User

属性:id,name


当然还有其他的,比如

@Getter
@Setter
@RequiredArgConstructor
@ToString
@EqualsAndHashCode
toString都可以省略

然后再在HelloController类中写一个方法:
@RequestMapping("/getUser")
	public User getUser(){
		User user = new User();
		user.setId(1);
		user.setName("张三");
		return user;
	}
再次启动访问localhost:8080/getUser  就可以看到json数据了

Springboot默认的使用jackson来处理json数据的,如果我们不想用它默认的,向用fastJson怎么办呢?下面我们就来用下阿里的fastjson处理一下
首先导入fastjson.jar包,版本1.2.10+,根据官方文档说明
第一种方式:
App启动类继承 extendsWebMvcConfigurerAdapter
重写:configureMessageConverters 方法
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//		super.configureMessageConverters(converters);
//		
//		/*
//		 * 1、需要先定义一个 convert 转换消息的对象;
//		 * 2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
//		 * 3、在convert中添加配置信息.
//		 * 4、将convert添加到converters当中.
//		 * 
//		 */
//		
//		// 1、需要先定义一个 convert 转换消息的对象;
//		FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//		
//		//2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
//		FastJsonConfig fastJsonConfig = new FastJsonConfig();
//		fastJsonConfig.setSerializerFeatures(
//                SerializerFeature.PrettyFormat
//        );
//		
//		//3、在convert中添加配置信息.
//        fastConverter.setFastJsonConfig(fastJsonConfig);
//        
//        //4、将convert添加到converters当中.
//    	converters.add(fastConverter);
//		
//	}

此时可以在增加一个属性:日期date
@JSONField(format="yyyy-MM-dd HH:mm")
	private Date date;
再次启动访问,此时就是使用了fastjson来处理数据的
第二种方式:
在启动类中  注入Bean : HttpMessageConverters
@Bean
	public HttpMessageConverters fastJsonHttpMessageConverters() {
		// 1、需要先定义一个 convert 转换消息的对象;
		FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
		//2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
		FastJsonConfig fastJsonConfig = new FastJsonConfig();
		fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
		//3、在convert中添加配置信息.
		fastConverter.setFastJsonConfig(fastJsonConfig);
		HttpMessageConverter<?> converter = fastConverter;
		return new HttpMessageConverters(converter);
	}

可以达到同样的效果

猜你喜欢

转载自blog.csdn.net/xc_wt/article/details/78656355
今日推荐