本文目标用户:
1.在产品设计中遇到有关于接口对接的经历,但是之前没有接触过类似对接。
2.想了解产品眼中的接口到底是什么东西?
3.对于已经明确了解并有相关对接的产品大佬们,欢迎你们指点。
一.API接口的定义
先来一段官方的解释:是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。
以产品的角度来讲,接口就是系统之间信息沟通的桥梁,通过接口我们能与不同的系统进行数据交换,以一个函数为例:比我y=x+1,当X系统传入一个参数,Y系统就会给我们按照函数逻辑给我们返回相应的值,我们不需要管Y系统内部具体的细节。
二.API接口的业务场景
在我个人的工作经历中,我把接口的业务场景分为2大类:一类是在程序内的接口调用。比如在用户登录时,输入账号密码调用登录接口去校验,这一类我们不考虑。
另一类是系统之间的接口调用。这一类中又可以细分为2类:一类是同一个平台内的系统之间的接口调用;比如在电商中,订单中心要想知道某个订单现在有没有发货,需要传递订单号到仓储中心,然后返回订单的发货状态。还一类是不同平台系统的接口调用;比如我们需要在页面上展示地图,直接调用高德或者百度的接口展示。
接口为我们的节省了大量的开发成本,对于两个独立的系统可以通过接口关联起来。不需要我们花费大量精力去构建一个完整的系统,而且对于一些需要的数据是来自外部数据的话,更不可能去搭建同一个系统。
三.看懂API接口
我们以一个接口文档的一个例子,来看看到底包含了哪些元素(作为产品,我们不需要去深究具体的实现细节,只需要知道接口的目的和相应的字段)
1.接口描述
简单的描述该接口的作用。
2.接口地址
表示要去哪里去找到该接口,得到响应。
3.请求方法
表示以哪种方法去请求接口的地址,一般是post或者get。(想具体了解可以问度娘)
4.请求参数
表示我们向接口调用时,需要传递哪些参数,这会根据具体的业务场景来设计字段以及具体的字段规则
5.返回结果
表示调用接口后给我们的返回结果
6.异常情况
有些接口文档还会考虑到异常情况,不同的异常情况如何处理。
以上是我看接口文档最关键的部分,对于一些更细节的元素如请求方式、签名和加密等个人认为没有必要看那么深,专业的事给专业的人做。
后续我会已具体的项目来说明具体怎么对接,以及怎么设计。感兴趣的朋友可以订阅我。