起因
团队中如果不同的项目,不同的人员可能在接口设计上有许多不统一的地方。导致了开发效率低下的问题。
由于我在工作中遇到了,所以整理下来,说一说自己的一些看法。
怎样进行接口规范化
因为每个人对自己使用语言有不同的理解、HTTP协议熟悉程度不同、思维逻辑、开发经验不一样。对接口规范有想法的人应该提出自己的观点,给出自己的理由。让别人去评价,讨论出一套统一的规则,最终统一成一个内部的标准。
形成统一标准后由相关人员写出示例。例如前端要对GET请求针对jQuery.ajax、fetch、axios等请求库给出示例代码。以后直接参照示例代码进行开发。
由于每个项目在定义接口时有许多不同的方式,我根据以往的经验,从请求方法、请求头、请求体、响应状态码、响应体等几个方面对接口的规范说说自己的看法。
我对标准的理解
我们不同的项目使用的请求方式大概有两种:
GET、POST
GET、POST、PUT、DELETE
如果使用前者,PSOT的URL中应该指明要执行的动作,而后者不需要指定。
POST /api/user/add HTTP/1.1
POST /api/user/set HTTP/1.1
POST /api/user/delete HTTP/1.1
# 这里例子中约定PUT是新增,POST是修改
POST /api/user HTTP/1.1
PUT /api/user HTTP/1.1
DELETE /api/user HTTP/1.1
至于使用前者还是后者,我更倾向于前者。
如果使用后者时,什么情况下使用PSOT、什么情况下使用PUT,搜