您的位置:首页 > 编程语言 > Java开发

spring boot返回json数据

2018-02-17 10:16 791 查看

默认使用jackson返回json数据

新建实体类Demo

新建requestmapping

/**
*  spring boot默认json解析框架是jackson
* @return
*/
@RequestMapping("getDemo")
public Demo getDemo(){
Demo demo = new Demo();
demo.setId(1);
demo.setName("jack");
demo.setCreateDate(new Date());
demo.setRemark("remark");
return demo;
}


使用fastjson返回json数据

引入fastjson依赖库

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>


配置fastjson

第一种方法:

(1)启动类继承extends WebMvcConfigurerAdapter

(2)覆盖方法configureMessageConverters

@SpringBootApplication
public class ApiCoreApp  extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//1.先定义一个convert转换消息的对象
//2.添加fastjson的配置信息,比如:是否要格式化返回的json数据
//3.在convert中添加配置信息
//4.将convert添加到converters中
super.configureMessageConverters(converters);
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(
SerializerFeature.PrettyFormat
);
fastConverter.setFastJsonConfig(fastJsonConfig);
converters.add(fastConverter);
}
}


import com.alibaba.fastjson.annotation.JSONField;
public class Demo {
private int id;
private String name;

@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createDate;

@JSONField(serialize = false)
private String remark;

……getter、setter
}


第二种方法:

注入Bean : HttpMessageConverters

@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
fastConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter<?> converter = fastConverter;
return new HttpMessageConverters(converter);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: