写点什么

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

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

关注

评论

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

Higress 基于自定义插件访问 Redis

阿里巴巴云原生

阿里云 云原生 Higress

软件测试学习笔记丨Goreplay流量回放

测试人

软件测试

探究云手机的海外原生IP优势

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机 海外原生IP

大模型预测,下一个token何必是文字?

Openlab_cosmoplat

基于Sermant的全链路灰度发布在汽车行业DMS系统的应用

华为云开源

开源 华为云 服务治理 微服务治理 sermant

OpenAI 展示音频模型 Voice Engine;清明节前 AI 复活亲人成热门生意丨RTE 开发者日报 Vol.175

声网

三思多功能智慧综合杆助推上海杨浦区数智化升级

电子信息发烧客

如何在Java中读取超过内存大小的文件

快乐非自愿限量之名

Java

Android Studio安装超详细步骤

霍格沃兹测试开发学社

JMeter前置处理器-Beanshell前置处理器详解

霍格沃兹测试开发学社

分享 5 个提高技术领导力的技巧

高端章鱼哥

【教程】Flutter 应用混淆

雪奈椰子

一文教你如何安装和使用Docker

伤感汤姆布利柏

【干货】零售企业商品数字化管理措施探讨

第七在线

DR9274-6GK|4T4RQCN6224 QCN9274 QCN6274 WiFi7 Lower Power Consumption Network Card

wallyslilly

QCN6224

Git常用命令大全:让你轻松驾驭版本控制

霍格沃兹测试开发学社

引入了 Shiro 的项目请求路径中带有中文报错400 的问题

emanjusaka

Java shiro Error 400

AIGC重塑金融:AI大模型驱动的金融变革与实践

EquatorCoco

人工智能 金融 AIGC

云原生最佳实践系列 6:MSE 云原生网关使用 JWT 进行认证鉴权

阿里巴巴云原生

阿里云 微服务 云原生 网关

强烈推荐:2024 年12款 Visual Studio 亲测、好用、优秀的工具,AI插件等

EquatorCoco

人工智能 Visual

服了,一线城市的后端都卷成这样了吗!?

王中阳Go

Java golang 面试 面试题 后端面经

SD-WAN支持的多种线路类型

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

SD-WAN组网方案简述

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

阿里1688布局跨境业务,瞄准海外代采

技术冰糖葫芦

API 接口

高防服务器干什么的?用途及其重要性解析

一只扑棱蛾子

高防服务器

京东一面挂在了CAS算法的三大问题上,痛定思痛不做同一个知识点的小丑

不在线第一只蜗牛

Java 算法 JVM CAS

DIY 3 种分库分表分片算法,自己写的轮子才吊!

程序员小富

Java 分库分表

Python 代码混淆工具概述

新一代营销费用管理:覆盖线上线下营销渠道各链路多场景费用

赛博威科技

以夸娥千卡集群为底座,摩尔线程与无问芯穹联手开启千亿大模型服务新篇章

Geek_2d6073

掌握ADB:详解操作命令及完整用法指南(二)

霍格沃兹测试开发学社

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