数据接口设计规范(数据接口设计规范标准)

网友投稿 912 2023-03-11


本篇文章给大家谈谈数据接口设计规范,以及数据接口设计规范标准对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享数据接口设计规范的知识,其中也会对数据接口设计规范标准进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

(转)对外接口设计规范

1、接口禁止方法重载,重载会在做服务SLA控制,日志监控等方面带来不便

2、接口注释必须清晰地表达如何使用,接口是同步还是异步,服务内容,参数校验规则(精度、长度、取值范围等),返回值信息,异常情况;使用场景有要求的需要重点这几个方面描述

a)不同使用场景,在注释中区分描述

b)特定使用场景下的业务规则描述

c)特定使用场景下的注意事项描述

格式上参照注释规范{*}

3、接口返回值中属性禁止使用枚举,如果返回值属性是枚举类型,会为后期升级埋下隐患(由于枚举序列化的特性导致

删除枚举值和增加枚举值都可能导致客户端反序列化失败),建议提供String类型,取值范围可以通过枚举来告诉客户端

禁止声明方式

建议声明方式

/** 强制还款标志,取值范围见{@link EnforceFlagEnum}*/

private String enforceFlag;

4、接口参数涉及取值范围选择的(比如交易码,渠道类型,身份标识),需提供对应的常量给客户端使用,谨慎使用枚举做入参

唯一性控制属性:a)如接口请求参数包含业务唯一性控制字段,需要对相关字段以及唯一性控制方式进行特别说明

b)若在唯一性控制基础之上,涉及相关业务幂等控制处理,需要进行相关详细描述

5、接口方法确保不对外抛出异常,异常情况需要通过错误码通知客户端,处理失败也需要有返回值,返回值实现可参考EcBaseResult及其子类实现

POM依赖

9、接口返回值中的方法尽量只提供基本属性的get set方法,不要提供有业务规则含义的方法(因为业务逻辑的变化会要求客户端升级jar包版本)

10、操作类的接口务必考虑幂等性控制,因为网络重发,客户端异常等都可能会引起重复调用,严重的可能会引起资损

根据业务约定的部分唯一性字段,对多次请求的数据判断是否重复提交的判断依据,比如通过外部订单号outOrderNo做唯一性控制,在唯一性控制的基础上,对请求中的其他字段进行判断,

如果全部业务数据(或关键业务数据)和已经落库的数据一致,则请求一次和请求多次都不会对业务处理产生影响,返回结果不变,

如果outOrderNo关联的其他信息与系统已经持久化的数据不一致则提示XXX参数与原先的数据不一致。

11、接口命名统一以Facade结尾,个别的SPI接口可以使用别的结尾词以便更好地表达SPI的要求,SOFA框架系统对外接口统一存放在xxx-common-service-facade

这个bundle下

12、接口必须提供有效的监控日志,配置监控报警规则监控日志输出见日志规范

13、敏感信息:接口返回对象属性字段包含敏感信息,需要做好标识,进行相关提示避免客户端打印到日志中去

金额:接口返回对象属性涉及到金额,需要描述金额的单位以及对应的币种 统一使用支付宝金额类com.iwallet.biz.common.util.money.Money

Money所在jar坐标

接口设计评审规范

本接口设计规范数据接口设计规范,参考了restfull的部分设计理念。

资源是 Restful API 的核心元素,所有的操作都是针对特定资源进行的。

任何事物,只要有被引用到的必要,它就是一个资源。资源可以是实体(例如手机号码),也可以只是一个抽象概念(例如价值) 。下面是一些资源的例子数据接口设计规范

Github 可以说是这方面的典范,下面我们就拿 repository 来说明。

我们可以看到几个特性:

接口名称应简单明了,望文知意,接口简介中,需描述清楚接口的具体业务功能。

原则上,接口命名规范整体采用“名词”+“动词”形式

接口返回或者操作的是单个资源对象,采用名称的单数形式命名,如:/user/add,/user/del,/user/get

接口返回或者操作的是多个资源对象,采用名称的复数形式命名,如:/users/get

针对同一个接口,根据实际业务需求,为解决接口兼容性问题,可以对接口进行版本扩展,命名规范为“名词”+“动词”+“版本号”形式,版本号采用v1、v2、v3形式命名

例:/user/login ,/user/login/v1

接口返回值,将统一采用如下格式:

{
"sign": "f64b967289ac4d8cbfdc22ad30ec9d09",
"content": "{}",
"timestamp": 1561204602005,
"desc": "成功!",
"code": "000",
"accessToken": "83BAED4DAE9DEF783FDE243F4B5C"
}

sign:返回值签名验签(如果需要)

如遇第三方合作等特殊情况,根据实际情况进行设计。

一个接口只做一件事情

连字符"-"一般用来分割URI中出现的字符串(单词),来提高URI的可读性,使用下划线"_"来分割字符串(单词)可能会和链接的样式冲突重叠,而影响阅读性。

根据RFC3986定义,URI是对大小写敏感的,所以为了避免歧义,我们尽量用小写字符。

例,针对金额,都统一为amount,而不是有的amount,有的money。

如是对老接口进行改动,需考虑接口的兼容性,包括字段的增减、字段名称调整、字段类型的调整、字段值内容长度的调整,字段值取值范围的调整等。

接口一旦发布就不易修改,要保持兼容性,拼写错误也不能改了,所以要仔细检查拼写。
著名悲剧:unix 的 creat。

creat是一个函数,可以用来创建一个文件并以只写的方式打开。

参数命名最好是定语+名词
比如 fileName, maxSize, textColor,而不是用name、size、colour

不要用生僻单词,也不要用汉语拼音

除非是约定俗成已经被广泛使用的缩写,否则老老实实用完整拼写。

比如 有open就要有close,有login就要有logout,这些单词基本是固定搭配的,使用者就很容易理解。

例,业务需要vip用户,接口不允许设计为isVipUser,而应该设计为获取用户的会员等级接口,/user/level/get,这样保证接口的通用性和扩展性

分页相关接口参数命名统一:

pageSize:每页记录条数

pageNum:当前页数

totalPageNum:总共页数

统一以分为单位进行传递

建议统一以时间毫秒数进行传递,避免前后端或者各种场景下日期格式不统一

数据接口

系统在运行中将用到大量的数据资料,必须在设计初始就明确各类数据标准以及各子系统的数据接口。根据各子系统设计的数据项需求及产生的成果数据项,确定各项数据的数据表,定义表结构,进行代码设计,然后由数据库系统实施,同时形成文档,作为系统的数据标准,统一执行。

数据的分类、编码设计、数据库的设计、地图制图、数据录入和质量检验,均遵循国家和行业主管部门的标准、规范、规程;如没有统一的规范规程,则参照相关的规程进行规范化设计。系统有关的数据定义全部形成文档,作为技术规范,统一使用。

各子系统在设计时应当明确与相关子系统的数据关系,提出相关子系统必须提交的数据表要求和系统运行过程中的提交时间,对应子系统按照该提交数据要求在系统中进行相应设计和开发,保证数据流动的通畅,这是基于数据的系统集成方案的关键,是数据平台接口设计的重要依据。系统间数据关系须形成文档,作为系统间数据接口标准规范,统一执行。

数据关系与数据标准相辅相成,共同定义了数据平台与各个子系统之间的输入、输出接口。在数据接口设计中应重点考虑以下几个方面:

(1)遥感数据与图形数据的接口:利用图形配准技术,予以解决。遥感数据是动态监测专题图件产生的基础,必须经过坐标配准,才能产生专题图件。配准过程由遥感动态监测子系统执行,需要应用综合数据库中的地形图数据。在配准后遥感数据与图形数据的套合依据空间坐标进行。

(2)空间数据与属性数据的接口:利用关键字建立联系。在数据建库过程中依据数据标准有关文档规定建立图形库和属性库结构,确定关键字段,同时定义关键字段编码方案,保证关键字段唯一性。在数据采集过程中对关键字段赋予代码。系统维护过程中的数据采集也必须依据编码方案对关键字段赋值。在应用系统中使用时只需建立图形库与属性库间的关联即可。

( 3) 子系统之间数据的接口: 各子系统之间数据的交换通过数据库进行,所以子系统间数据接口本质上是子系统与后台数据库的接口; 在建立数据库时,已经由数据库管理系统依据系统间数据关系建立了接口。

系统内数据关系包括:

数据管理与数据库子系统接受业务处理与信息服务子系统录入的有关基础信息、遥感动态监测子系统输入的遥感数据及各子系统产生的成果数据,为各子系统提供综合基础数据、专题数据和成果数据。

遥感动态监测子系统需要数据库系统管理的遥感数据、地形图数据和历史专题数据。

生态专业分析子系统需要遥感动态监测子系统产生的专题图件和综合数据库中的历史专题图件以及属性资料。

业务处理与信息服务子系统需要数据库子系统管理的综合基础数据和各专业应用子系统产生的成果数据。

关于数据接口设计规范和数据接口设计规范标准的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 数据接口设计规范的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数据接口设计规范标准、数据接口设计规范的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:rfid读写器接口开发(rfid读写器使用说明)
下一篇:无线路由器管理员密码破解(路由器管理员怎么破解)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~