1、url 命名格调介绍
- 驼峰命名法
例:http://xxxx/getUser - 蛇形命名法
例:http://xxxx/get_user - 脊柱命名法
示例https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user/#commits-are-not-linked-to-any-user
https://stackoverflow.com/questions/5262224/how-are-reddit-and-hacker-news-ranking-algorithms-used
https://api.github.com/
2、url 大小写及多单词命名准则
1) URL 采纳小写字母,数字,局部特殊符号(非制表符)组成。2) URL 中不采纳大小写混合的驼峰命名形式,尽量采纳全小写单词,如果须要连贯多个单词,则采纳连接符“_”或 "-" 连贯单词,举荐应用后者,即中横线 "-"。
3、url 门路分级准则
- 第 1 级:/api
用于辨别服务接口和动态资源申请,以便做权限拦挡等解决。
- 第 2 级:/ 模块名称
对应 controller 名称,模块名称能够定义两级,即:/ 父模块名 / 子模块名,通常将第 1 级和第 2 级一起定义到 controller 门路中,例:/api/user - 第 3 级:/ 动作名称 / 版本号
对应 method 名称,例:/add/v1
4、crud url 设计举荐
-
新增:/api/{module-name}/add/v1
申请形式:post,content-type:application/json
-
查看:/api/{module-name}/get/{id}/v1
应用场景:进入编辑页面,以及相干详情弹框 申请形式:get,参数放在 url 中
-
批改:/api/{module-name}/edit/{id}/v1
申请形式:post,content-type:application/json
-
删除:/api/{module-name}/del/{id}/v1
申请形式:post,content-type:application/json
-
列表(默认,带分页,带搜寻):/api/{module-name}/list/v1
申请形式:get,参数放在 url 中 倡议:不管是否有分页需要,后果全副按分页格局返回,默认可不传分页参数
- 列表(非默认):/api/{module-name}/list-{datatype}/v1