Rest Full API 定义和设计,是互联网软件开发中最重要的设计标准。
最近针对公司的情况。总结了下使用的干货标准。官方概念和更多知识合一参考如下链接。
资源设计:
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.
| Entities | Actions | Resource | Method |
| CUSTOMER | /customers | ||
| 获取所有客户的列表 | /customers | GET | |
注册创建一个新的用户 | /customers | POST | |
| 获取客户ID的客户信息 | /customers/{customer-id-alias} | GET | |
| 更新客户ID的客户信息 | /customers/{customer-id-alias} | PATCH | |
| 删除客户ID的客户 | /customers/{customer-id-alias} | DELETE |
| ACCOUNTS | |||
| 获取客户下所有账户的列表 | /customers/{customer-id}/accounts | GET | |
| 开通/创建一个新账户 | /accounts | POST | |
| 查询某个账户信息 | /accounts/{account-id-alias} | GET | |
| 更新某个账户信息 | /accounts/{account-id-alias} | PUT | |
| 删除某个账户 | /accounts/{account-id-alias} | DELETE |
| Transactions | |||
| 产生一笔交易/创建一次记录 | /transactions | POST | |
| 根据账号某个信息查询一条信息记录 | /accounts/{account-alias}/transactions | GET | |
| 通过记录id查询某条记录或交易信息 | /transactions/{transactions-id} | GET |
版权声明:本文为Mynah886原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。