V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DavidNineRoc
V2EX  ›  问与答

RESTful 在路由 url 有名义的写法

  •  
  •   DavidNineRoc · 2018-04-05 21:14:13 +08:00 · 914 次点击
    这是一个创建于 2184 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 前边已经有过一篇博客简单的介绍在Laravel 中使用 RESTful
    • 这篇文章介绍一下各种RESUful风格路由的写法,不一定是正确,但是个人觉得写这样的路由很有含义。

    基础路由

    • 一般放在一个组里,其他路由总要带上这个前缀
      • 总是api**+**版本号
      • /api/v1

    基本参数

    • 分页的参数,直接使用QueryString
      • limit
      • page
      • /url?limit=10&page=1
    • 多参数排序
      • /url?desc=created_at,id&asc=grade,updated_at

    基本的路由

    • 分类列表
      • method: get
      • /categories
    • 创建分类
      • method: post
      • /categories
    • 删除分类
      • method: delete
      • /categories/{category}
    • 单个分类
      • method: get
      • /catagories/{catagory}
    • 修改分类
      • method: put
      • /categories/{category}

    稍微复杂的路由

    • 获取分类下的所有文章
      • method: get
      • /categories/{category}/articles
    • 获取标签下的所有文章
      • method: get
      • /tags/{tag}/articles
    • 批量删除文章 (尽量不要进行批量操作)
      • method: delete
      • /article/batch?id=1,2,3

    认证的路由

    • 通常情况下都可以使用(名义明确的)
    • 登录
      • method: post
      • /login
    • 注销
      • method: post
      • /logout
    • 但是为了符合RESTful风格,我们也可以换个名字
    • 登录 (实际上就是创建一个 token)
      • method: post
      • /tokens
    • 注销 (实际上就是删除 token)
      • method: delete
      • /tokens/{token}

    长名字路由

    • 有时候总不可避免的出现路由名字多个单词组合
      • 这时候我们可以使用中划线分隔,更利于seo优化
      • 获取某种文章类型的文章
      • method: get
      • /article-types/{article_type}/articles
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3225 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:51 · PVG 18:51 · LAX 03:51 · JFK 06:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.