BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

PayPal API风格指南和设计模式

| 作者 Abel Avram 关注 4 他的粉丝 ,译者 薛命灯 关注 12 他的粉丝 发布于 2017年9月25日. 估计阅读时间: 2 分钟 | QCon北京2018全面起航:开启与Netflix、微软、ThoughtWorks等公司的技术创新之路!

亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知

PayPal通过RESTful API将自己的平台打造成彼此连接的服务。他们为此提供了用于创建和使用这些API的指南设计模式,其他开发者可以在自己的项目中使用这些指南和模式。

PayPal的API设计指南经过多年的开发和演化,包含了如下的一些原则。

  • 低耦合:服务与消费者之间必须是低耦合的。
  • 封装:一个服务只能通过其他服务提供的接口来访问不属于它的数据和功能。
  • 稳定性:服务接口必须保持稳定。
  • 可重用性:服务必须能够为多个上下文和多个消费者所重用。
  • 基于协议:功能和数据必须通过标准的服务协议暴露出来。
  • 一致性:服务必须遵循一系列规则、迭代风格、词汇表和公共类型。
  • 易用性:对消费者应用程序来说,服务必须易于使用。
  • 外部化(externalizable):服务提供的功能必须易于被外部化。

业务能力以资源的形式暴露出来,这些资源都有自己的名字。为了避免重复,同一个资源只能由一个服务来提供,并通过HTTP方法来实现资源的CRUD操作:

  • GET:用于获取一个资源。
  • POST:用于创建一个资源,或者执行更复杂的操作。
  • PUT:用于更新一个资源。
  • DELETE:用于删除一个资源。
  • PATCH:用于部分更新一个资源。

HTTP通过JSON数据交换格式来传输数据,这些格式都定义了JSON Schema。Schema支持JSON原始类型,如字符串、数字、枚举、数组、空值(null),以及常用类型,如地址、货币、日期、时间、国家、电话号码等。

API指南里包含了HATEOAS代码示例,演示了如何使用超链接来实现REST。还有关于如何使用HTTP头部字段(标准和自定义的)和状态码的指南,如映射HTTP方法和状态码、URI的命名约定、查询参数、资源、错误处理、版本管理和弃用规则。PayPal还公开了另一份文档——API设计模式和用例——详细说明了API的使用模式并提供了示例代码。

查看英文原文:PayPal’s API Style Guide and Patterns

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT