相关疑难解决方法(0)

什么是最好/常见的RESTful url动词和动作?

我正在尝试找到有关最佳和最常见的RESTful网址操作的一些信息.

例如,您使用什么URL来显示项目的详细信息,编辑项目,更新等.

/question/show/<whatever>
/question/edit/<whatever>
/question/update/<whatever> (this is the post back url)
/question/list   (lists the questions)
Run Code Online (Sandbox Code Playgroud)

哼.感谢任何人的帮助:)

rest

83
推荐指数
2
解决办法
5万
查看次数

RESTful API 设计:CRUD 轻量级连接的最佳方式?

(请原谅问题标题;很难总结这个问题。)

在 Facebook 上,你的like东西。在推特上,你们这些follow人。在 GitHub 上,您还可以看到follow人员、star存储库和要点。

所有这些情况都非常相似:这些连接是轻量级的,本身并不是真正的“资源”。例如,这三个 API 都没有公开此类连接的公共 ID。

这就提出了一个问题:公开用于创建/查询/删除这些连接的 API 的“最佳”(就 REST 而言)方法是什么?


Facebook 的做法 [ 1 ]:

  • GET /:id/likes查询某个对象的喜欢程度(更准确地说,喜欢该对象的用户)

  • POST /:id/likes喜欢某事(代表经过授权的用户;不需要请求正文)

  • DELETE /:id/likes不喜欢某些东西(代表经过授权的用户)

查询和创建是有意义的,但DELETE有点“非 RESTful”,因为您实际上并没有删除/:id/likes资源(喜欢该对象的用户数组)。

这种差异在另一种情况下也表现出来[ 2 ]:

  • GET /me/likes/:id询问你是否喜欢某事

因此,查询连接是查询与创建或删除它完全不同的资源。


GitHub倾向于/me/likes/:id以下用户和明星存储的风格[ 3 ]:

(请注意,GitHub/user代表经过身份验证的用户,如 Facebook 的/me。)

  • GET /user/starred/:owner/:repo用于查询您是否有一个已加星标的存储库(返回 204 或 404,两者都没有正文)

  • PUT /user/starred/:owner/:repo用于为回购加注星标(请求中不需要正文)

  • DELETE /user/starred/:owner/:repo用于取消仓库星标

这更加一致,但不幸的是,这将个体“明星”与群体分开: …

api rest web-services github-api facebook-graph-api

6
推荐指数
1
解决办法
1601
查看次数

标签 统计

rest ×2

api ×1

facebook-graph-api ×1

github-api ×1

web-services ×1