夜雨聆风学习资料网

ARTICLE · 1130189

老板必知:什么是接口,为什么接口文档这么重要

老板必知:什么是接口,为什么接口文档这么重要

老板必知:什么是接口,为什么接口文档这么重要

"接口?接口文档?这些跟我有什么关系?"

关系大了。接口是程序员之间协作的"合同",接口文档就是这份合同的文字版。

合同没写清楚,甲乙双方扯皮;接口文档没写清楚,前后端程序员扯皮——最后扯皮的代价,都是老板来扛。


什么是接口?打个比方

想象一家餐厅。

顾客看菜单点菜,告诉服务员"我要一份宫保鸡丁"。服务员把订单传给后厨,后厨做好菜,由服务员端给顾客。

在这个场景里:

  • 顾客 = 前端(用户看到的界面)
  • 服务员 = 接口
  • 后厨 = 后端(处理数据的服务器)

接口就是前端和后端之间的"服务员"——前端通过接口向后端请求数据,后端通过接口把数据返回给前端。

再具体一点:

  • 用户在小程序上点击"我的订单" → 前端通过接口向后端请求订单数据
  • 后端查数据库,把订单数据整理好,通过接口返回给前端
  • 前端拿到数据,展示在页面上

用户从来不会直接碰到接口,但每一次操作,背后都有接口在工作。


接口为什么重要?

1. 没有接口,前后端无法合作

前端和后端是两拨人在做事。前端需要知道:我请求什么数据、怎么请求、返回什么格式的数据。 这些都靠接口约定。

接口没定义好,前端不知道该请求什么,后端不知道该返回什么——两边各做各的,对接的时候一定出问题。

2. 接口设计不好,系统效率低

接口粒度太粗,一个请求返回一大堆数据,浪费带宽、加载慢;接口粒度太细,一个页面要请求十几个接口,也慢。

好的接口设计,就像合理的菜单分类——该组合的组合,该单点的单点,既不浪费也不缺。

3. 接口不稳定,系统随时出问题

接口说好了返回"userName"字段,后端偷偷改成了"nickName",前端直接显示不出来——但用户看到的只是"页面怎么空了",然后投诉你。

接口是契约,不能单方面改。


什么是接口文档?

接口文档就是把接口的约定写下来,让前后端都有据可查。

一份合格的接口文档,至少包含:

1. 接口地址

这个接口在哪?比如 /api/orders/list

2. 请求方式

是GET(获取数据)还是POST(提交数据)?还是PUT(更新)或DELETE(删除)?

3. 请求参数

需要传什么参数?哪些是必填的?参数的类型是什么?

比如查询订单列表:

  • page
    :页码(必填,数字)
  • pageSize
    :每页条数(选填,数字,默认10)
  • status
    :订单状态(选填,数字,0-全部/1-待付款/2-已付款)

4. 返回数据

返回什么格式的数据?每个字段是什么意思?

比如返回:

  • code
    :状态码(200-成功,400-参数错误)
  • data
    :数据
  • list
    :订单列表
  • total
    :总数

5. 错误码

出错了返回什么?每个错误码代表什么意思?


接口文档为什么这么重要?

重要性一:前后端可以同时开发

有文档: 前端照着文档的格式写假数据,先把界面做出来;后端照着文档的格式开发,两边并行,效率翻倍。

没文档: 前端只能等后端开发完了才能对接,项目周期直接拉长。

重要性二:换人不怕

有文档: 新程序员看文档就能理解接口的设计,快速上手。

没文档: 新程序员只能看代码猜,猜错了就出bug。

重要性三:减少扯皮

有文档: 接口出问题,对照文档一看就知道是谁没按约定来。

没文档: 前端说"你返回的数据格式不对",后端说"你请求的参数不对"——谁也说服不了谁,最后老板来判。

重要性四:对接第三方必须用

你要接微信支付、接地图、接短信服务——对方都会提供接口文档。如果你自己的项目连接口文档都没有,跟别人对接的时候会很被动。


没有接口文档的真实后果

有个老板做了个商城小程序,前端和后端各找了一拨人。因为没写接口文档,前后端各自理解,对接的时候发现:

  • 前端传的参数名和后端期望的不一样
  • 返回的数据格式两边理解不同
  • 分页逻辑各做各的,根本对不上

结果对接花了整整两周,比原计划多了一倍。多出来的两周工时费,全由老板买单。

后来这个老板学乖了,第二个项目一开始就要求先出接口文档,再开发。对接只花了两天。


老板怎么确保接口文档到位?

1. 把接口文档写进合同

在合作协议里加一条:"开发启动前需提供接口文档,接口文档经双方确认后方可开发。"

2. 要求文档实时更新

接口改了,文档必须同步更新。过期的文档比没有文档更可怕——它会误导人。

3. 验收时检查文档

项目交付时,接口文档是必须的交付物之一。没有接口文档,不算完整交付。

4. 用工具管理文档

现在有很多接口文档管理工具(比如Swagger、Apifox),可以在线编辑、自动生成、实时同步。比写Word文档方便太多了。


写在最后

接口文档就像餐厅的菜单——没有菜单,服务员不知道怎么下单,后厨不知道做什么菜,顾客只能干等着。

接口文档不是可有可无的"文书工作",而是项目高效推进的基石。前期花两天写文档,后期省两周的扯皮时间。

关注公众号【程序员接单群】,点击"入群"按钮。群里的程序员都习惯先写接口文档再开发,交付的项目文档齐全,对接顺畅,换人接手也不慌。

接口文档到位,项目开发不扯皮。


关注公众号【程序员接单群】,点击"入群"按钮,找到规范交付接口文档的靠谱程序员!

相关学习资料