restful url设计规范参考

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

  • 【restful url设计规范参考】查看:/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

    推荐阅读