RESTful API Design

Rest Full API 定义和设计,是互联网软件开发中最重要的设计标准。

最近针对公司的情况。总结了下使用的干货标准。官方概念和更多知识合一参考如下链接。

RESTful 架构详解 | 菜鸟教程1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是..https://www.runoob.com/w3cnote/restful-architecture.html

资源设计:

1. URL设计, 下面例子针对平时派生的实体,定义不同维度的资源URL。在这个阶段暂时不要考虑CRUD,而是列出针对实体业务的操作。这一点定义很重要!

2. HTTP METHOD定义, 每一个资源的操作都会有一个HTTP方法,这个一般和资源的操作性质匹配映射。例如:

2.1 GET查询类。是用于检索信息的HTTP标准,开发人员一般使用此方法从资源池中读取数据,各种HTTP缓存解决方案支持缓存通过GET方法获取的数据以提高性能,使用其他方法(eg:POST)来检索数据意味着这些优化将不起作用。

2.2 POST一般创建新增某个资源,有的项目中前段对于PUT不友好处理可以使用POST替代PUT. PUT一般对于编辑修改的操作,PUT在资源已经存在时,它将覆盖任何数据,这可能会导致现有的资源数据丢失;POST方法可以让你将敏感数据保留在URL之外或通过将参数移动到请求正文中来缩短URL.

用户/客户
EntitiesActionsResourceMethod
CUSTOMER/customers
获取所有客户的列表/customersGET

注册创建一个新的用户

/customersPOST
获取客户ID的客户信息/customers/{customer-id-alias}GET
更新客户ID的客户信息/customers/{customer-id-alias}PATCH
删除客户ID的客户/customers/{customer-id-alias}DELETE

账户
ACCOUNTS
获取客户下所有账户的列表/customers/{customer-id}/accountsGET
开通/创建一个新账户/accountsPOST
查询某个账户信息/accounts/{account-id-alias}GET
更新某个账户信息/accounts/{account-id-alias}PUT
删除某个账户/accounts/{account-id-alias}DELETE

列表详情
Transactions
产生一笔交易/创建一次记录/transactionsPOST
根据账号某个信息查询一条信息记录/accounts/{account-alias}/transactionsGET
通过记录id查询某条记录或交易信息/transactions/{transactions-id}GET


版权声明:本文为Mynah886原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。