[通用解决方案]--(3)统一系统对接的字段别名与格式

Author:赵志乾
Date:2019-09-28
Declaration:All Right Reserved!!!

 

场景

实际项目中,经常会遇到调用第三方服务接口的情景。第三方通常只提供一份接口文档,且字段命名规则、格式需求与自己项目不一致。

解决方案

方案1:单独做一层转换

按照第三方的要求写一层Vo,然后将Vo转换成自己项目中的字段格式和命名规则。此方案在实现过程中会非常繁琐,代码中充斥着各种格式的转化,尤其是时间的格式。此方案并不推荐。

方案2:使用fastJosn的@JSONFeild注解

注解@JSONFeild最常用的属性就是name和format。其中name用于设定字段的别名,format用于定制时间的格式。

// 场景1: 第三方字段名采用脊柱式命名规则,自己的系统采用小驼峰命名规则。使用name属性匹配第三方命名
//        方式。

public class ConnectVo{
    @JSONFeild(name="connect-name")
    private String connectName;

    public String getConnectName(){
        return connectName;
    }

    public void setConnectName(String connectName){
        this.connectName=connectName;
    }
}


// 场景2: 第三方时间字段要求格式为yyyy-MM-dd,自己的系统就是使用普通的时间戳。使用format属性控制
//        格式
public class ConnectVo{
    @JSONFeild(name="connect-time", format="yyyy-MM-dd")
    private Timestamp connectTime;

    public Timestamp getConnectTime(){
        return connectTime;
    }

    public void setConnectTime(Timestamp connectTime){
        this.connectTime=connectTime;
    }
}

注意:使用fastJson作为序列化和反序列化工具,还有一个好处,就是Vo只需要符合JavaBean规范即可,不需要显示实现Serializable接口。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫白小猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值