toB接口设计

    前言:接口在软件设计时,通常指的是不同系统之间进行数据交互的一种协议。双方系统根据接口定义的字段及类型(规范)进行数据交互。而json作为一种轻量级的语言更适合完成数据交互。接口协议就是用来定义数据交互的规范。json作为数据的载体按照协议规范进行数据交互。

一、了解JSON

    JSON是一种类似 XML的语言,是用了存储和交换文本信息的语法。它的全称为JavaScript Object Notation(JavaScript 对象表示法)。与xml对比,它更小、更快,更易解析。

   不同系统之间数据交互的手段。主要是通过json格式去进行数据交互。两个系统之间需要制定一套详细的接口规范支撑后续的设计。

二、json语法及案例

   json一般包括以下几种表达方式:

    1、JSON对象的表示:采用key/value的方式表示对象。对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。表示方法:{key1:value1,key2:value2,......};

    2、JSON数组表示:数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。表示方法:[value1,value2,value3,......];

   3、对象数组标识方法:综合1,2,表示方法:

[{key1:value1,key2:value2},{key3:value3,key4:value4}{key5:value5,key6:value6},......]

   4、value类型:

string:"string";

number:1265.12;

object:{id:"123",name:"chen"};

array:["name",12323,"2009-11-12"];

boolean:true,false;

null:null;

三、不同系统之间的数据交互为什么会选择用json的格式?

    易生成,易解析。

四、接口设计规范

     1、http传输中需要遵循以下规范:在请求报文中:content-type=application/json;charset=UTF-8。在应答报文中:content-type=application/json。

     2、接口元素约束条件:

符号

含义

?

0..1,可选项,表示可有可无,

*

0..n,可以没有,也可以有多项

+

1..n,至少有1项,也可以有多项

1

数字1,代表必须且只能填1项

     3、实例说明:

{

"appId":"A",

"timestamp":"20160910122321",

"messageId":"80e5adaec47d41748628e1715d903ad0",

"access_token":"76gd7fyg87dyf87y8erhdfgy93ytgfsh",

"sessionId":"2378947892374324",

"content":{

"inputPara":{         

  "customerID" : 100000059111

}

}

}

    4、接口定义样例参考如下:

父元素名称

元素名称

约束

类型

宽度

描述

取值说明

content

emailList

+

-

邮件组

emailList

email

1

String

50

邮件

content

tilte

1

String

100

邮件标题

content

content

1

string

50000

邮件内容

content

emailCode

1

string

10

邮箱编码

报文样例:

{

    "messageId": "f806b095ba764412adcedefd64b65e9d",

    "sessionId": "111111",

    "timestamp": "20160711094442",

    "content": {

        "emailList":[{

            "email":"lixin15@asiainfo.com"

        },

        {

            "email":"867244890@qq.com"

        }],

        "tilte":"测试主题9999",

        "content":"测试内容99999",

        "emailCode":"dq1"

    },

    "appId": "A2016120614401100003"

}

五、接口调用方式

    接口调用的方式一般包括以下几个:

   1.系统间采用远程函数调用(RFC)的方式进行数据交互:实际上就是一个系统提供可供其他系统调用的函数,当其他系统传输正确的参数并调用相应函数,则可以在该系统中执行相应的系统功能。这就是最为常见的,使用远程函数调用的系统接口方式。

   2.系统间采用中间数据库的方式进行数据交互:系统过多的话,如果多个系统之间通过函数调用,会导致接口的复杂性过高。且函数调用接口,必须要求接口两端的功能均可用,这就有可能会影响业务的及时性。工作机制如下:多个系统之间的建立数据平台(就是个专门用于存储系统间交互数据的数据库),业务系统不会直接与另一个业务系统进行数据交互,而是将数据传给数据平台,另一个业务系统如果需要,则去数据平台取数据。比如,运营商内部系统,会建立一系列中心,比如订单中心、账号中心、产商品中心,用于记录各个业务产生的数据。

   3.系统间采用传输文件的方式进行数据交互:数据发送方的系统将数据写入到一个文件上,再将文件传输给数据接受的方系统;数据接收方系统将读取文件中所承载的数据,并根据数据执行相应的系统功能,从而实现系统间数据交互的目的。

     文件接口的系统架构设计:包括业务系统-业务系统、业务系统-文件服务器-业务系统、业务系统-文件服务器-文件服务器-业务系统。引用来源:https://blog.csdn.net/qq_33641781/article/details/90245933?

六、json如何解析?

    json的解析,顾名思义就是将接口传的数据用代码获取到。解析的前提是,明白json语法。举例如下:

{
    "personData": [
        {
            "age": 12,
            "name": "nate",
            "schoolInfo": [
                {
                    "School_name": "清华"
                },
                {
                    "School_name": "北大"
                }
            ],
            "url": "http://pic.yesky.com/uploadImages/2014/345/36/E8C039MU0180.jpg"
        },
        {
            "age": 24,
            "name": "jack",
            ···
        }
    ],
    "result": 1
}

解析json:对象数组的需要按照list来循环获取。对象需要建立对象获取。 如下:

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值