Java接口过滤为null的字段方式

 更新时间:2025年12月02日 08:40:46   作者:阳仔的屁仔  
大C的技术优化导致接口返回字段处理问题,业务架构解决规范性讨论,他们做或业务方做各有优缺点,建议他们做,可以保证对客户端的字段准确性,避免重复性工作

一、问题描述

今天在大C的同学找过来给我们提了个技术需求,让我们将接口里返回的字段全不做一下处理,若字段值为 "null" 的时候就不要返回了,他们APP会崩溃。

what ?

我想大家立刻马上会冒出这样一个问题之前不是好好的么这么突然就G了。经过一阵交流才发现是技术加方案变化导致的。

二、问题原因

根本原因就是大C要做技术优化,从之前的php代码迁移到 golang,老的php代码在他们那一层做了一个“字端为null就不返回”的过滤。

本次技术优化之后不想做这件事。

老的技术方案实现如下:

新的技术方案实现如下:

三、解决方案

业务架构解决规范性讨论

解决方案从团队角度来说无非就两种,一个就是他们做,另一个就是我们业务方做。我个人觉得的他们做更合适。

  1. 首先技术优化可以做,但是前提不能影响之前的功能性的东西,不然所有的接入放都要进行适配。对接放愿不愿意改是一回,有没有时间是另一回事。
  2. 大C对客户端负责,就一定要保证对客户端的字段的准确性,其实就是三方接口不可信。
  3. 大C来做这件事的话其他业务方都不用做重复性的动作了,这样架构也简洁。
  4. 若是业务放来做,怎么做,做到什么力度也是个问题,不可能在全局做这样的逻辑处理,除非对大C是一个API。但是显然不可能出现这样的架构设计。举个case:一个接口给大C提供了并且做了这个逻辑判断,但是某一天有个同学给大C提供了个新接口没有人提醒他做这样的逻辑处理,测试的时候各个字段都有,结果上线之后由于业务变化某个字段值没有了,客户端不就G了么。

业务放的解决方案

若是业务方做这件事的话,有两种方式。

1、按照接口返回对象过滤,使用JsonInclude注解,该注解可作用在字段上也可作用在对象上。

# 引的包
import com.fasterxml.jackson.annotation.JsonInclude;

# 具体注解
@JsonInclude(JsonInclude.Include.NON_NULL)

2、按照全局过滤使用配置。

spring:
  jackson:
    default-property-inclusion: non_null

具体采用哪种方式大家视情况而定。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java方法参数是引用调用还是值调用?

    Java方法参数是引用调用还是值调用?

    Java方法参数是引用调用还是值调用?这是一个值得思考的问题。阅读本文,找出答案
    2016-02-02
  • myeclipse无法部署项目问题及解决方法

    myeclipse无法部署项目问题及解决方法

    最近小编遇到到棘手的问题,myeclipse无法部署项目,点击这个部署按钮没有反应。怎么解决呢,下面小编给大家代理的myeclipse无法部署项目问题及解决方法 ,感兴趣的朋友一起看看吧
    2018-10-10
  • 老生常谈java中的Future模式

    老生常谈java中的Future模式

    下面小编就为大家带来一篇老生常谈java中的Future模式。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Java内部类和匿名内部类的用法说明

    Java内部类和匿名内部类的用法说明

    这篇文章主要介绍了Java内部类和匿名内部类的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • SpringMvc+POI处理excel表数据导入

    SpringMvc+POI处理excel表数据导入

    这篇文章主要为大家详细介绍了SpringMvc+POI处理excel表数据导入,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • SpringMVC参数传递之基本数据类型和复杂对象说明

    SpringMVC参数传递之基本数据类型和复杂对象说明

    这篇文章主要介绍了SpringMVC参数传递之基本数据类型和复杂对象说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java进行文件格式校验的方案详解

    Java进行文件格式校验的方案详解

    这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-04-04
  • SpringBoot下载Excel文件时,报错文件损坏的解决方案

    SpringBoot下载Excel文件时,报错文件损坏的解决方案

    这篇文章主要介绍了SpringBoot下载Excel文件时,报错文件损坏的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Maven Profile多环境构建实战指南

    Maven Profile多环境构建实战指南

    在现代企业级Java项目开发中,面对开发(dev)、测试(test)、预发布(staging)、生产(prod)等多套环境的差异化配置管理,本文将从实战角度深入剖析Maven Profile的多环境构建体系,需要的朋友可以参考下
    2025-05-05
  • Java中实现String.padLeft和String.padRight的示例

    Java中实现String.padLeft和String.padRight的示例

    本篇文章主要介绍了Java中实现String.padLeft和String.padRight,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09

最新评论