PayPal API风格指南和设计模式
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
PayPal API风格指南和设计模式相关推荐
- Google API 设计指南-设计模式
翻译自 API Design Guide - Design Patterns 空响应体 标准的 Delete 方法 必须(must) 返回 google.protobuf.Empty 来实现全局一致性 ...
- Python 代码风格指南谷歌版
非常感谢我们的忠实读者 shendeguize,在后台留言告诉我,已经翻译了<谷歌Python代码风格指南> ,大家这样相互帮助,感觉真是太好. Update: 2020.01.31 Tr ...
- JavaScript风格指南
转载自:https://github.com/alivebao/clean-code-js JavaScript风格指南 目录 介绍 变量 函数 对象和数据结构 类 测试 并发 错误处理 格式化 注释 ...
- Spring Boot 微服务编码风格指南和最佳实践
文奇摄于世界尽头州立公园 通过多年来使用 Spring Boot 微服务,我编制了一份编码风格指南和最佳实践列表.这份清单并不全面,但我希望您能找到一两点可以借鉴的地方,无论您是新手还是经验丰富的 S ...
- Google 内部的 Python 代码风格指南(译)
微信搜索逆锋起笔关注后回复编程pdf 领取编程大佬们所推荐的 23 种编程资料! 来自:Why GitHub? 链接:https://github.com/shendeguize/GooglePyth ...
- Google内部 Python 代码风格指南(中文版)
文末有干货 "Python高校",马上关注 真爱,请置顶或星标 这是一位大佬翻译的Google Python代码风格指南,很全面.可以作为公司的code review 标准,也可以 ...
- 快快快收藏!!Google内部Python代码风格指南(中文版)
????????关注后回复 "进群" ,拉你进程序员交流群???????? 来源丨菜鸟学Python 这是一位大佬翻译的Google Python代码风格指南,很全面.可以作为公司 ...
- Google Python代码风格指南
谷歌Python代码风格指南 中文翻译 你好,我是zhenguo 这是关注我的一位粉丝翻译的Google Python代码风格指南,很全面.可以作为公司的code review 标准,也可以作为自己编 ...
- Vue精简版风格指南
前面的话 Vue官网的风格指南按照优先级(依次为必要.强烈推荐.推荐.谨慎使用)分类,且代码间隔较大,不易查询.本文按照类型分类,并对部分示例或解释进行缩减,是Vue风格指南的精简版 组件名称 [组件 ...
最新文章
- netapp学习(十三)---Snapshot基础知识(上)
- 如何制作提交按钮,实现多条件筛选
- Spring - Java/J2EE Application Framework 应用框架 第 14 章 JMS支持
- idea中使用osgi_OSGi中的权限
- 2022. 将一维数组转变成二维数组
- it计算机知识竞赛主持稿,西安交大城市学院计算机系举办第四届“走进IT,触碰未来”计算机知识竞赛...
- html内嵌样式字体,html-通过内联C加载外部字体
- PX4避障和轨迹规划(3DVFH*)
- linux ov7725模块驱动,stm32f4 驱动ov7725摄像头,使用dcmi一直无法产生中断
- XFire野猪书-XFire开发指南第二版
- 《道德经》 老子部分阅读笔记
- Python统计学01——数据可视化
- 《如何阅读一本书》——读书方法的整理
- How to solve the lossless offline problem of Spring Cloud Alibaba service instance in Kubernetes
- 小程序商家如何开通直播带货功能
- 读论文《Multi-Behavior Hypergraph-Enhanced Transformer for Sequential Recommendation》
- 超融合一体机 oracle,oracle的pca私有云一体机超融合解决之道.pdf
- 关于出版《AR Foundation增强现实开发实战(ARKit版)》(2022-09-11创建)
- R语言学习_回归预测
- 不知名菜鸟的day5