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