【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

PayPal API 风格指南和设计模式

  • 2017-09-24
  • 本文字数:742 字

    阅读完需:约 2 分钟

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

2017-09-24 19:002750
用户头像

发布了 322 篇内容, 共 134.3 次阅读, 收获喜欢 144 次。

关注

评论

发布
暂无评论
发现更多内容

第十二周 作业2

Yangjing

极客大学架构师训练营

ARTS打卡 第25周

引花眠

微服务 ARTS 打卡计划 springboot

Week_12 总结

golangboy

极客大学架构师训练营

第12周作业

paul

与前端训练营的日子 --Week07

SamGo

学习

架构1期 第十二周作业

haha

智天下APP系统开发|智天下软件开发

系统开发

架构第12周作业

Geek_Gu

极客大学架构师训练营

架构师训练营 1 期 - 第 十二周作业(vaik)

行之

极客大学架构师训练营

架构师训练营 1 期 - 第 十二周总结(vaik)

行之

极客大学架构师训练营

架构师训练营 2 期 Week08 作业

第十二周 数据应用(一)总结

蓝黑

极客大学架构师训练营

Week 12 作業

Judyyy

架构第12周总结

Geek_Gu

极客大学架构师训练营

架构师训练营 - 第12周

袭望

Week 12 學習總結

Judyyy

第十二周 架构方法学习总结 —— 数据应用

兵长

第十二周 作业1

Yangjing

极客大学架构师训练营

减肥为什么会失败,有可能是因为你仍然在摄入容易消化的食用糖。

叶小鍵

科普 减肥、廋身 盖里·陶比斯 加工食用糖

第十二周 学习总结

熊桂平

极客大学架构师训练营

第十二周 作业

熊桂平

极客大学架构师训练营

架构师训练营 2 期 Week08 总结

SpringBoot系列(6)- 测试

引花眠

spring springboot

ARTS打卡 第27周

引花眠

微服务 ARTS 打卡计划 springboot

week8-作业一

未来已来

week8-作业二-根据当周学习情况,完成一篇学习总结

未来已来

「奇淫技巧」如何写最少的代码

Kerwin

Java 代码设计 代码技巧

架构师训练营 12 周笔记

郎哲158

架构师训练营第十二周学习笔记

一马行千里

第三周总结

胡益

ARTS打卡 第26周

引花眠

微服务 ARTS 打卡计划 springboot

PayPal API风格指南和设计模式_REST_Abel Avram_InfoQ精选文章