写点什么

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

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

关注

评论

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

使用 GitHub Issues 来写博客,真香。

彭宏豪95

GitHub 写作 博客

字节大牛的1850页Leetcode刷题笔记外泄!用实力折服众人

Java 程序员 字节跳动 面试 算法

基于java springboot vue活动报名系统源码(毕设)

清风

Java springboot elementUI 毕业设计

2021年8月数据库流行度排行:数据库道路漫漫其修远兮,为用户创造核心价值是正道

墨天轮

数据库 TiDB oceanbase 国产数据库 达梦

Activiti数据库表结构

金陵老街

千字真言,字字珠玑,我的Golang学习笔记,赤诚分享

奔着腾讯去

Go 语言

厉害!GitHub星标70K阿里大佬手写的Spring Boot实战手册真不错

Java 编程 程序员 架构 计算机

超赞!GitHub上百万下载量Java面试手册!颠覆你的认知

Java~~~

Java 架构 面试 网络 架构师

鲲鹏基础软件开发赛道openLooKeng赛题火热报名中,数十万大奖等您来收割

华为云开发者联盟

鲲鹏 openLooKeng

浅谈云上攻防——Kubelet访问控制机制与提权方法研究

腾讯安全云鼎实验室

k8s 云安全

凭借一份“面试真经pdf”,我四面字节跳动,拿下1-2级offer

Java 程序员 面试 后端 计算机

记一次10人跨组织、跨地域的开源协作经历

腾源会

开源 腾讯 腾讯开源

在华为P50 Pro中,听到AI异构通信的朱弦三叹

脑极体

NodeJs深入浅出之旅:模块🌀

空城机

大前端 Node 8月日更

赋能数据中心绿色低碳 浪潮云洲有实招

云计算

DevOps如何攻克研发流程六大痛点?

BoCloud博云

牛掰!“基础-中级-高级”Java程序员面试集结,看完献出我的膝盖

Java 编程 面试 IT 计算机

狂刷《Java权威面试指南(阿里版)》,冲击“金九银十”有望了

Java 程序员 架构 面试 大厂

深度解读鸿蒙轻内核CPU占用率

华为云开发者联盟

鸿蒙 cpu 任务 CPUP LiteO

一周信创舆情观察(8.9~8.15)

统小信uos

进化十多年,四足机器人的网红属性有改变吗?

脑极体

万物皆为向量:在线向量召回工程服务化实践

爱奇艺技术产品团队

深度学习 推荐 向量

如何在Android 8.0以下高效地复用图片?

爱奇艺技术产品团队

android 开发 图片存储

云原生的能源数据管理平台方案|EMQ 映云科技&华为云联合直播内容回顾

EMQ映云科技

华为云 能源 Cloud 碳中和 emq

Qunar 酒店 NodeJS 覆盖率收集实践

Qunar技术沙龙

大前端 nodejs Node JavaScrip

Go 让 Apache APISIX 如虎添翼

API7.ai 技术团队

Apache 开源 插件 APISIX Go 语言

字节架构师离职后,熬夜整理55W字Java面试手册,逆风翻盘进阿里

Java 编程 程序员 架构 面试

“性能混合架构”了解了吗?英特尔Alder Lake惊艳来袭

科技新消息

从头到尾没有一句废话!阿里Redis神级手册,从基础到源码

Java redis 编程 面试 阿里

替换及重置Homebrew默认源以及M1安装

一个大红包

8月日更

排查指南 | 两个案例学会从埋点排查 iOS 离线包

蚂蚁集团移动开发平台 mPaaS

mPaaS

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