什么是接口?

接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。人类与电脑等信息机器或人类与程序之间的接口称为用户界面。电脑等信息机器硬件组件间的接口叫硬件接口。电脑等信息机器软件组件间的接口叫软件接口。在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合

about-api.png

API作为应用程序编程接口,(API:Application Program Interface),可以使用不同的编程语言进行API的开发
API 与图形用户接口(GUI)或命令接口有着鲜明的差别:API 接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。

按照接口表现形式分类

序号 接口 基于或支持的协议 描述
1 HTTP 接口 HTTP协议 使用广泛、轻量级、跨平台、跨语言的,但凡是第三方提供的API都会有HTTP版本的接口。
2 RPC 接口 HTTP、TCP、UDP、自定协议 RPC技术是指远程过程调用,它本质上是一种Client/Server模式,可以像调用本地方法一样去调用远程服务器上的方法,支持多种数据传输方式(Json、XML、Binary、Protobuf等)
3 Web Service 接口 基于http协议的soap协议的封装和补充 Web Service其实是一种概念,我们可以将以WEB形式提供的服务称为Web Service,所以像RESTful、XML-RPC、SOAP等都可以当成是Web Service的一种实现方式。
4 RESTful API HTTP协议 它不是一种规范,而是一种设计准则,用不同的HTTP动词(GET、POST、DELETE、PUT等)来表达不同的请求。
5 WebSocket udp、tcp 是一个底层的,双向通信协议 ,适合于客户端和服务器端之间信息实时交互
6 FTP TCP/IP 协议组中的协议之一 文件传输协议,FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。 其中FTP服务器用来存储文件

RESTFul API (Http/web API)

RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。
RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。
要理解RESTful架构,最好的方法就是去理解Representational State Transfer这个词组到底是什么意思,它的每一个词代表了什么涵义。如果你把这个名称搞懂了,也就不难体会REST是一种什么样的设计。

  1. 每一个URI代表一种资源;
  2. 客户端和服务器之间,传递这种资源的某种表现层;
  3. 客户端通过四个HTTP动词,对服务器端资源进行操作,实现”表现层状态转化”。

简单的说,RESTFul API是一种更加规范化的Http API形式,让开发人员一目了然的了解与使用。

WebServices

Web services 把 Web 应用程序提升到了另外一个层面。通过使用 Web services,您的应用程序可向全世界发布功能或消息。
Web services 使用 XML 来编解码数据,并使用 SOAP 借由开放的协议来传输数据。

可重复使用的应用程序组件

有一些功能是不同的应用程序常常会用到的。那么为什么要周而复始地开发它们呢?
Web services 可以把应用程序组件作为服务来提供,比如汇率转换、天气预报或者甚至是语言翻译等等。
比较理想的情况是,每种应用程序组件只有一个最优秀的版本,这样任何人都可以在其应用程序中使用它。

连接现有的软件

通过为不同的应用程序提供一种链接其数据的途径,Web services有助于解决协同工作的问题。
通过使用 Web services,您可以在不同的应用程序与平台之间来交换数据。

  • Web Services 是应用程序组件
  • Web Services 使用开放协议进行通信
  • Web Services 是独立的(self-contained)并可自我描述
  • Web Services 可通过使用UDDI来发现
  • Web Services 可被其他应用程序使用
  • XML 是 Web Services 的基础

基础的 Web Services 平台是 XML + HTTP。
HTTP 协议是最常用的因特网协议。
XML 提供了一种可用于不同的平台和编程语言之间的语言。
Web services 平台的元素:

  • SOAP (简易对象访问协议)
  • UDDI (通用描述、发现及整合)
  • WSDL (Web services 描述语言)

    直接SQL

    直接连接数据库的集成方式。

  • 视图 View 用于查询数据;

  • 存储过程 Procedure 用于执行一系列的SQL语句,一般用于处理复杂的保存过程;
  • 直接SQL语句 一般用于不是很复杂的查询或者添删改查;

    构成接口的要素

    接口文档

    一个软件平台的产品是否成熟完善,取决于开放平台的接口文档是否完整。优秀的产品必定会有结构清晰的文档;开始集成配置之前必须要学会查看接口文档。
    轻易云已经集成的部分平台API文档可以在 链接 进行查看。

    接口名

    企业微信截图_16312520028073.png

    请求参数

    如果接口是用于查询数据的接口,那么它的请求参数一般是数据过滤的条件;

    标准的数据查询接口必须要支持时间范围过滤。而且最好是【最新修改时间】

如下图中的销售订单查询接口
企业微信截图_16312520794716.png
如果接口是用于写入数据的接口,那么它的请求参数一般是要写入的数据内容本身;

写入数据接口文档需要对每个数据进行详细的说明;

企业微信截图_16312521534958.png

响应参数

接口调用之后,无论成功还是失败都应当返还响应参数。
在响应参数中一般情况下都会有响应状态码来表示成功与失败,以及失败的说明。
在数据查询接口中接口文档还必须说明返回的数据结构。
XYCS.png

调用示例说明

完善的接口文档中还必须针对每个接口调用都有完整的示例说明:
SLI.png