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文档方便太多了。
写在最后
接口文档就像餐厅的菜单——没有菜单,服务员不知道怎么下单,后厨不知道做什么菜,顾客只能干等着。
接口文档不是可有可无的"文书工作",而是项目高效推进的基石。前期花两天写文档,后期省两周的扯皮时间。
关注公众号【程序员接单群】,点击"入群"按钮。群里的程序员都习惯先写接口文档再开发,交付的项目文档齐全,对接顺畅,换人接手也不慌。
接口文档到位,项目开发不扯皮。
关注公众号【程序员接单群】,点击"入群"按钮,找到规范交付接口文档的靠谱程序员!