Spring boot项目设定返回数据为JSON固定格式
2017-07-25 16:55
861 查看
1.配置处理json的配置类
package com.test.config; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; /** * 该配置类覆盖了原有的HttpMessageConverters处理方式,采用fastjson处理方式 */ @Configuration public class WebConfigure extends WebMvcConfigurerAdapter { @Bean public HttpMessageConverters useConverters() { return new HttpMessageConverters(new FastJsonHttpMessageConverter()); } }
2.创建返回数据格式类
package com.test.entity; import lombok.AllArgsConstructor; import lombok.Data; /** * 返回json的模板 */ @Data @AllArgsConstructor//生成包含所有变量的有参构造函数 public class ResponseTemplate { Object data; }
3.编写用于预处理HttpMessageConverters的处理类,并且要作用于所有使用了注解@RequestMapping的controller的方法上
package com.test.config; import com.test.entity.ResponseTemplate; import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpResponse; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; /** * 用于预处理httpMessageConverter */ @ControllerAdvice//作用于controller中使用了注解@RequestMapping的方法 public class DataResponseBodyAdvice implements ResponseBodyAdvice { @Override public boolean supports(MethodParameter returnType, Class converterType) { return true; } @Override public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) { if(returnType.hasMethodAnnotation(ExceptionHandler.class)) {//处理异常,可以再添加一个异常处理的类,用于处理异常返回格式 return body; } else { return new ResponseTemplate(body); } } }
相关文章推荐
- 【Java】SpringBoot 引入fastjson库进行json格式数据返回实例
- springboot 返回json格式数据的时间格式配置
- SpringBoot RestController 同时支持返回xml和json格式数据
- springboot 返回json格式数据时间格式配置
- Spring Boot @ControllerAdvice 处理全局异常,返回固定格式Json
- Spring-boot返回Json格式数据
- springboot 返回json格式数据时间格式配置
- Spring Boot @ControllerAdvice 处理全局异常,返回固定格式Json
- spring boot起步之返回json数据
- springboot基础优酷篇(二)返回json数据
- spring boot返回json数据
- SpringMVC项目使用@ResponseBody返回application/json格式的数据出现状态码HTTP Status 406
- 解决spring boot中rest接口404,500等错误返回统一的json格式
- 2. Spring Boot返回json数据【从零开始学Spring Boot】
- Spring boot之返回json数据
- spring4.1.4,使用ResponseBody注解返回JSON格式的数据时406 Not Acceptable错误。
- spring-boot统一处理返回给前台的数据格式(避免返回异常堆栈信息,干扰用户体验)
- spring boot最新教程(四):返回json数据以及集成fastjson的使用
- Spring Boot 日期数据格式转换@JsonFormat实例
- (2)Spring Boot返回json数据【从零开始学Spring Boot】