好的API设计能让前后端协作更顺畅。这篇文章分享我设计RESTful API的一些经验。
使用名词而非动词。/users 比 /getUsers 更规范。动作通过HTTP方法体现:GET获取、POST创建、PUT更新、DELETE删除。
层级关系要清晰。/users/123/posts 表示用户123的文章,/posts/456/comments 表示文章456的评论。
200表示成功,201表示创建成功,400表示请求参数错误,401表示未认证,403表示无权限,404表示资源不存在,500表示服务器错误。
不要所有错误都返回200,然后在body里写错误码。这样前端处理起来很麻烦。
建议统一返回格式:{code: 0, data: {}, message: ""}。code为0表示成功,非0表示各种错误。data放实际数据,message放提示信息。
分页数据要包含总条数、当前页、每页数量,方便前端做分页组件。
接口必须鉴权,敏感操作要验证权限。使用HTTPS传输,防止中间人攻击。对请求参数做校验和过滤,防止SQL注入和XSS攻击。
API设计是前后端协作的基础,花点时间把规范定好,后期能省很多沟通成本。