接口开发相关概述

来源:互联网 发布:51单片机时钟程序 编辑:程序博客网 时间:2024/06/05 08:40

接口的作用

概括而言,接口表相当于是在处理数据过程中的临时存储区,接口是一个处理数据的程序包。将需要进行处理的数据存储在接口表中,再对这些数据进行相应的处理,最后生成相应的结果,根据不同的需求判断是否需要将处理结果回写到接口表中,这个过程即为接口的处理过程。接口表起到的作用一般为临时存储,数据追溯等。接口则进行数据处理等主要逻辑处理工作。
一般接受从其他系统传来数据的处理过程为:接受数据->导入接口表->验证数据合法性->处理数据->生成本系统数据。
其中导入接口表为导入定义的客户化接口表,验证数据合法性、处理数据都是封装为一个程序包处理导入到接口表中的数据,生成本系统数据一般调用封装好的API,将数据导入标准接口表再导入基表中。

接口表

就功能而言,接口表一般分为标准接口表和客户化接口表。标准接口表即oracle定义的接口表,是在数据导入标准表之前必定会调用到的接口表,不需要自己定义,直接使用即可。而平时使用到的自己定义一张表作为数据的临时存储表则成为客户化接口表,对于该表的字段定义、数据验证等需要自己实现。

标准接口表

Oracle定义的一些基表对应即有相应的接口表,在数据导入基表之前需要先将数据插入其接口表进行简单验证,再通过提交请求等将数据导入基表中,一般这个功能都已经被封装,直接调用公司的标准API即可。在这个过程中会有基本的数据验证功能,例如验证字段类型,长度等,但数据是否为实际可用的数据需要另加验证,在调用标准API进行数据导入之前需要对导入的数据进行筛选验证。
一般需要导入基表的数据有两种情况,一是由用户在界面输入的数据,二是从其他系统传入的数据。第一种情况一般在界面会有输入的限制,因此需要做的验证并不多。第二种情况下就需要在本系统增加验证,验证数据的合法性,再进行调用API,因此调用标准API总是在接口的最后一步完成的工作。
对于标准接口表验证出错的数据的处理方式要根据是否设置回滚点而定,若设置有回滚点则出错之后直接回滚到设置有回滚点的地方,否则在接口表中回写状态,即将process_status设置为error,并将错误说明进行记录,因此在调用标准API时需要根据需求决定是否设置回滚点。

客户化接口表

在实际项目中,经常会碰到其他系统的数据需要传到本系统中进行数据同步、数据处理的情况,在数据传输过程中对于传入和传出的数据需要进行相应处理,例如对于传出数据要进行数据转换,对于传入数据要进行数据转换、数据校验、数据存储等。此时需要进行数据传输的系统都需要建立临时表对于需要传输的数据进行临时存储,以便后期对于数据进行传输或处理等。以下根据传入过程进行说明。
客户化接口表中的字段一般包括与其他系统需要进行传输的数据,who字段,接口处理状态字段,来源字段等。当本系统接收到从其他系统传入的数据时,需要先将所有数据进行存储,再对数据进行验证,此时接受所有数据的表即为定义的客户化接口表。
客户化接口表中各字段的作用:

- 传输的数据字段:接受从其他系统传入的数据。一般两个系统中进行传递的数据都会传递有数据具有实际含义的字段,比如物料会传递code字段而不是传递其ID,这是因为在两个系统中,都存在这种物料,但在不同系统中为该物料分配的ID值可能不同,传递ID并不能再其他系统取得需要的信息,因此需要传递字段具有实际含义的值,接受到后再转换为本系统中定义的ID,再进行使用。

- Who字段:用于记录操作者及操作记录。

- 处理状态字段:用于记录接口表中该条记录的处理状态,其中process_status有以下几种状态:
ENTER/数据正在录入,用户可以修改
PENDING/用户已确认,数据可以导入
SKIP/不需要做接口处理
ERROR/出错,数据验证不通过
COMPLETE/数据已经进入接口,用户不可以修改
在数据导入接口表时将处理状态设置为pending状态,验证该条数据不需要进行处理时设置状态为skip,数据验证出错时回写状态信息为error,并在process_message字段填写错误信息,数据验证通过并生成本系统数据后回写处理状态为complete。

- 来源字段:一般记录传入本系统的数据的ID等值,用于数据追溯。

接受到从其他系统传入的数据后将该条数据的状态设置为pending,并记录接收时间,来源等字段。将数据接收到客户化接口表并记录好字段值后,就可以对接口表中的数据进行相应处理了。处理通过的数据转化为本系统有用的数据,并插入到基表或生成订单等,将接口表中该条数据的接口状态设置为complete,并可根据客户需求将最终生成的订单号等回写到接口表中即可。若数据验证失败,回写接口表数据借口状态为error,并记录相应错误信息,根据客户需求决定是否执行其他处理。

接口

从接受从其他系统传入的数据到最终生成本系统数据的过程都为接口负责处理的过程,因此接口主要负责的任务为:接受数据->将数据导入客户化接口表->数据验证->数据处理->转化为本系统数据->回写客户化接口表状态等。一下具体进行说明

- 接受数据:一般与其他系统约定好传输的有哪些字段,根据这些字段定义接口表。接受数据的方式有两种,一种是其他系统传递数据过来我们进行插入操作,一种是我们提供接口表其他系统直接插入数据到接口表中。下面根据我们接收数据进行插表操作进行说明。

- 将数据导入客户化接口表:将其他系统传入的数据全都插入客户化接口表中,并设置好来源字段等以便追溯。此时只需要最基本的必输字段验证以及字段类型验证,不需要进行其他验证。

- 数据验证:数据导入到客户化接口表后,就可以对接口表中的数据进行验证了,此时的验证主要验证传入的数据是否具有实际含义,例如物料编码,要验证在本系统是否存在该物料编码,并将物料编码转化为ID值进行后续处理操作(一般对数据执行操作时使用的都是其ID值)。若通过验证也可执行后续操作,未通过验证则根据客户需求进行相应处理,例如进行报错并回写错误状态到接口标准中等。

- 数据处理:根据客户需求对验证通过的数据进行处理,这个过程一般为逻辑处理过程,与客户需求相关。

- 转化为本系统数据:将经过处理过的数据存储到需要的表中,可以为系统中的基表,也可以为定义的客户化表,根据客户需求而定。若需要保存到基表中,可以调用公司封装好的API。

在写接口时,需要注意保存点的设置,以及异常的捕获,需要根据客户的需求捕获异常并进行相应处理。

0 0
原创粉丝点击