API中心 API Hub-可维护性:API请求HTTP动词使用标准化且满足幂等性
API请求HTTP动词使用标准化且满足幂等性
本条规则是Should类型的扩展规则,可提升API的可维护性。
HTTP方法的需要符合幂等性的约束,幂等性的约束是指一次和多次请求某一个资源应该具有同样的副作用,单个资源操作,资源的标准CRUD操作对应的HTTP动词如表1所示。
方法 |
描述 |
幂等性 |
---|---|---|
POST |
适用于新建资源场景,以及CRUD无法表达的操作场景(Non-CRUD)。 |
否 |
GET |
用于获取资源的场景,必须具备安全性。 |
是 |
PUT |
如果操作的URL为一个新资源,则创建该资源。如果URL为一个已存在的资源,则替换该资源,传入的消息体需包含被替换资源的完整信息。如果传递的信息不完整,在服务实现端需提供对应信息的默认值。 |
是 |
DELETE |
用于删除资源的场景。 |
是 |
HEAD |
返回资源的元信息比如:ETag和Last-Modified之类的信息。 |
是 |
PATCH |
用于部分更新资源的场景,如果使用PUT操作所需输入的整体资源信息内容大小与PATCH操作无太大差异,优先使用PUT操作,不推荐使用PATCH操作。 |
是 |
OPTIONS |
获取当前资源支持哪些方法的信息。 |
是 |
例如:使用正确的HTTP动词。
- “查询虚拟机列表”:GET /servers
- “创建VPC网络”:POST /vpc
- “删除虚拟机标签”:DELETE /server/tag
- “创建/更新数据库实例元数据”:PUT /instance/metadata
- 使用API网关开放本地数据中心服务能力_开放API_API网关APIG-华为云
- API网关支持http到https自动重定向_开放API_API网关APIG-华为云
- 华为云CodeArts API_如何在CodeArts API中设置请求参数?
- 华为云CodeArts API_API质量_API规范_API审核
- API网关有哪些使用场景_API网关作用_API网关APIG-华为云
- 华为云CodeArts API_什么是API_APIFirst_API设计
- 调用API_API调用流程_API网关APIG-华为云
- API网关权限管理_授权使用API网关_APIG权限策略和授权项
- 使用API网关开放云容器引擎CCE工作负载_开放API_API网关APIG-华为云
- 华为云CodeArts API_APIFirst_API设计_API设计规范_API全生命周期