restfull api

Google API 設計指南
https://cloud.google.com/apis/design?hl=zh-cn

也可以參考
https://choerodon.io/zh/docs/contributor-guide/development/conventions/restful/


设计流程
设计指南建议在设计面向资源的 API 时采取以下步骤(更多细节将在下面的特定部分中介绍):
• 确定 API 提供的资源类型。
• 确定资源之间的关系。
• 根据类型和关系确定资源名称方案。
• 确定资源架构。
• 将最小的方法集附加到资源。

来自 <https://cloud.google.com/apis/design/resources>

URL命名(標準)

 接口URL

HTTP方法

接口说明

 /article

 POST

 保存文章

 /article

 GET

 查询文章列表

 /article/{id}

 GET

 查询單個文章

 /article/{id}

 DELETE

 删除文章

 /article/{id}

 PUT

 更新文章信息

 常用自定义方法

以下是常用或有用的自定义方法名称的精选列表。API 设计者在引入自己的名称之前应该考虑使用这些名称,以提高 API 之间的一致性。

方法名称

自定义动词

HTTP 动词

备注

取消

:cancel

POST

取消一个未完成的操作,例如 operations.cancel

batchGet

:batchGet

GET

批量获取多个资源。如需了解详情,请参阅列表描述

移动

:move

POST

将资源从一个父级移动到另一个父级,例如 folders.move

搜索

:search

GET

List 的替代方法,用于获取不符合 List 语义的数据,例如 services.search

恢复删除

:undelete

POST

恢复之前删除的资源,例如 services.undelete。建议的保留期限为 30 天。

 

例如

/article/{id}:customVerb

 

POST or GET

自定義方法

来自 <https://cloud.google.com/apis/design/custom_methods>

 

 

如果接口url有介詞應該怎麽辦?例如一個api目的是“dispatch  express orders to ipad by date

Url 命名要和classmethod命名一一對應起來

 

classmethod命名

动词

名词

方法名称

请求消息

响应消息

List

Book

ListBooks

ListBooksRequest

ListBooksResponse

Get

Book

GetBook

GetBookRequest

Book

Create

Book

CreateBook

CreateBookRequest

Book

Update

Book

UpdateBook

UpdateBookRequest

Book

Rename

Book

RenameBook

RenameBookRequest

RenameBookResponse

Delete

Book

DeleteBook

DeleteBookRequest

google.protobuf.Empty

 

来自 <https://cloud.google.com/apis/design/naming_convention>

 

 

 

Controller接受參數用VO

 

Input params format(命名為xxxxVO):

{

"addr_ref_value": "string",

"addr_type": "string",

"user": “”---create 操作的時候必須有,user id or staffCreate

"amend_date": "2020-10-12",

}

 

 

原文地址:https://www.cnblogs.com/javac/p/14624606.html