[最新]API设计原则.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[最新]API设计原则

API设计原则;为什么设计api?;api存在的形态?无处不在;优秀API所具备的特征?;API设计通用原则;3.兼容性:向后兼容 4.文档:对外提供清晰的API和文档规范,避免用户错误的使用API,尤其是避免API靠后级别的API被用户知晓与误用;SDK,console tools 5.可测试性:不依赖实现 6.职责明确:一个接口实现一个业务 7.高内聚低耦合:一个接口实现一个完整的业务功能,而不是多个接口调用 ;8.参数格式统一:不要一会儿逗号分隔,一会儿数组;日期一会儿是yyyyMMdd,yyyy-MM-dd 9.状态和消息:告知用户成功还是失败,失败原因 10.控制数据量:过多数据传输压力大,客户端反应缓慢,是否接口划分不明? 11.禁止随意扩展api和参数:新建接口要有充分理由和考虑,加参数必要要有意思,首先应考虑现有内部接口维护是否能满足,不要为了方便实现加参数 ;HTTP API设计原则;6.过滤(filter): limit,offset,page,per_page,sortby,order,animal_type_id 7.状态码(status code): 8.错误处理(error handling): { error: Invalid API key } 9.数据格式:json,避免xml 10.时间格式:不同时区人调用,使用UTC时间 ;200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。 202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务) 204 NO CONTENT - [DELETE]:用户删除数据成功。 400 INVALID REQUEST - [POST/PUT/PATCH]用户发出的请求有错误 401 Unauthorized - [*] 用户没有权限(令牌、用户名、密码错误) 403 Forbidden - [*] 用户得到授权,但是访问是被禁止的 404 NOT FOUND - [*]不存在的记录 406 Not Acceptable - [GET]用户请求的格式错误 410 Gone -[GET]用户请求的资源被永久删除 422 Unprocesable entity - [POST/PUT/PATCH]当创建一个对象时,发生一个验证错误 500 INTERNAL SERVER ERROR - [*] 服务器发生错误 ;11.外键数据,便于扩展: { name: service-production, owner: { id: 5d8201b0... } } 而不是 { name: service-production, owner_id: 5d8201b0..., ... } ;12.限制调用次数:token bucket 算法 ,RateLimit-Remaining 返回剩余的请求次数 13.压缩json数据:回车空格去掉 14.提供文档和工具:保持更新,提供sdk,console工具 ;谢谢!

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档