springboot 将对象转化成json对象返回给前端,是通过多个消息转换器配合完成的

但是有些时候,默认的转化格式未必符合我们的要求,这个时候就需要进行自定义消息转换器

只需要在@Configuration的类中添加消息转化器的@bean加入到Spring容器,就会在spring启动时被Spring Boot自动加入到容器中。

框架在对消息进行转换时就不会使用默认的转换器,而是使用咱们提供的bean进行处理

需要注意的是,一个转换器只有一个bean会起作用,当转换器重复加到容器中时,只有第一个会起作用

@Beanpublic MappingJackson2HttpMessageConverter longToStringConverter() {MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();ObjectMapper mapper = new ObjectMapper();//Long 转StringSimpleModule simpleModule = new SimpleModule();simpleModule.addSerializer(Long.class, ToStringSerializer.instance);simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);mapper.registerModule(simpleModule);//Date格式mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));    converter.setObjectMapper(mapper);return converter;}

这是一个示例, 会将对象中的Long类型转换成String返回,同时返回规定格式的日期

如果要对返回消息的编码格式做处理,就需要用到另外一个转换器

如果某个字段不想返回,再对象属性上面加上@JsonIgnore即可

除了这种方式,还可以在继承WebMvcConfigurerAdapter的类中重写(覆盖)configureMessageConverters方法,也能实现这种效果

转载于:https://www.cnblogs.com/self-studyRen/p/11133847.html

spring boot处理请求返回值的格式(自定义消息转换器)相关推荐

  1. spring boot maven项目返回值乱码的解决方法

    spring boot maven项目返回值乱码的解决方法 1.先看乱码效果: spring boot maven项目,返回值乱码,如下图: 控制台打印log乱码,如下图: 有swagger的话,sw ...

  2. 接口返回html页面乱码,解决nodejs中使用http请求返回值为html时乱码的问题

    今天用nodejs进行http请求时返回的数据是一个html文件,然后我还是按照以前解析json数据的方法.果不其然报错了:SyntaxError: Unexpected token  in JSON ...

  3. Spring MVC同一方法返回JSON/XML格式

    最近一道面试题,要求同一API接口支持不同格式返回值.一开始是设想通过过滤器(Filter)设置返回值,但是并不可行,因为方法返回值一般都是类型需要做转换,而过滤器则是前置的.另一方面可以通过拦截器的 ...

  4. Spring Boot 异步请求和异步调用

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 一.Spring Boot中异步请求的使用 1.异步请求与同步请求 ...

  5. Spring Boot 异步请求和异步调用,一文搞定!

    一.Spring Boot中异步请求的使用 1.异步请求与同步请求 特点: 可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如 ...

  6. Spring boot转发请求

    转发请求 Forward 表示转发到一个地址 ThymeleafViewResolver Spring MVC的视图解析器 作用,根据视图名,得到视图对象 createView 创建视图对象 view ...

  7. Spring Boot 格式化接口返回JSON中的日期/日期时间(LocalDate/LocalDateTime)

    Spring Boot默认使用JackJson作为json转换器,用于生成JSON格式数据,有时候它格式化的日期/日期时间(LocalDate/LocalDateTime)字段并不符合产品的需求,因此 ...

  8. Spring boot重定向请求

    重定向 Redirect 表示重定向到一个地址 ThymeleafViewResolver Spring MVC的视图解析器 作用,根据视图名,得到视图对象 createView 创建视图对象 vie ...

  9. Spring Boot——统一设置返回Json数据风格(Java驼峰命名法转下划线命名法)解决方案

    基本概念 HttpMessageConverter: org.springframework.http.converter.HttpMessageConverter 是一个策略接口 接口说明如下: S ...

最新文章

  1. python软件是免费的吗-python语言是免费还是收费的?
  2. Java中的门面设计模式,非常有用!
  3. 算法设计与分析(第三周)递归求阶乘
  4. 带你走近AngularJS - 基本功能介绍
  5. rocketmq安装部署过程(4.0.0版本)
  6. python规则引擎开发经验_关于物联网规则引擎技术,你想要知道的都在这儿!
  7. 慕课网 饿了么 vue2.0 项目
  8. 增强现实:原理算法与应用 第一章增强现实概论笔记
  9. 360安全卫士管理开机启动项的方法
  10. Google App Engine初探
  11. 刘济舟:《基于IAST交互式安全测试实践的初步探索》
  12. [Google] 再见 SharedPreferences 拥抱 Jetpack DataStore
  13. TGA文件格式分析和图片举例
  14. Android插件化方式实现View动态更新
  15. nrf51822+rfx2401c系统板(开源原理图、PCB)
  16. mysql结算订单表到用户_Luffy之结算订单页面(订单模型表的创建,订单的生成,以及订单详情展示等)...
  17. RGB 转换至 YCbCr (YUV) 的计算公式
  18. 华为全球发布六款全场景新品;西门子加速在华发展数字化创新 | 美通企业日报...
  19. Codeforces 1610C Keshi Is Throwing a Party
  20. 55 - 字符流中第一个不反复的字符

热门文章

  1. 《JavaScript面向对象精要》——1.9 总结
  2. 读写应用程序数据-NSUserDefault、对象归档(NSKeyedArchiver)、文件操作
  3. Red Hat Enterprise MRG 2.0 Installation And Configuration Guide
  4. getpass函数简单使用
  5. Rime在linux下面的安装-还没写完
  6. FlinkShell用kill -9杀不掉
  7. 修改cockpit端口
  8. kafka的使用场景(转载+自己笔记)
  9. redis连接与redis的python连接
  10. 'staticfiles' is not a registered tag library. Must be one of: