写点什么

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:002745
用户头像

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

关注

评论

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

食堂就餐系统设计

Hugo

架构师训练营第一周(总结)

任鉴非

Hello World!

东哥

极客大学架构师训练营

老当益壮的 Servlet

侯树成

Java Java 25 周年 Servlet

为什么建立自己的规则很重要

Neco.W

自我管理 行动派 执行力

架构师训练营第一周总结

Kiroro

架构师训练营第1周_学习总结

chinsun1

架构总结

架构师训练营Week1总结

sunnywhy

食堂就餐卡系统架构设计

dj_cd

极客大学架构师训练营

第一周总结

LEAF

架构师训练营 No.1 周作业

连增申

架构师训练营作业一:食堂就餐卡系统设计

sunnywhy

第二章.软件架构设计

西柚

UML作业

王志祥

极客大学架构师训练营

8000字长文让你彻底了解 Java 8 的 Lambda、函数式接口、Stream 用法和原理

古时的风筝

函数式接口 Lambda stream Java 25 周年

食堂就餐卡系统设计

LEAF

week01 UML 学习总结

李锦

架构师训练营-学习总结-第一周

ashuai1106

学习 架构师 极客大学架构师训练营

食堂就餐卡系统设计

Kiroro

一篇文章快速搞懂 Atomic(原子整数/原子引用/原子数组/LongAdder)

学习Java的小姐姐

Java 并发编程 并发 synchronized Atomic

剖析Golang Context:从使用场景到源码分析

伴鱼技术团队

源码分析 并发编程 程序语言 Context Go 语言

架构师训练营第一周 - 学习总结

Eric

极客大学架构师训练营

第1周 - 学习总结

大海

架构师训练营第一课

Coder的技术之路

低调的网易又要上市了

池建强

创业 网易 慢公司

架构建模总结

任鉴非

聊聊Java中的Thread类

geekymv

线程 Java25周年 Thread Runnable

【架构】— 一个简单系统的UML模型

不二架构

极客大学架构师训练营 UML 架构总结

Week1命题作业

星河寒水

部署图 时序图 组件图 用例图

架构师作业一:食堂就餐卡系统设计

李锦

架构师训练营-作业-第一讲

吕浩

极客大学架构师训练营

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