命名RESTful路径

Luc*_*uke 5 c# java web-services

我正在创建一个Web服务,我对路径名称有一些疑问.如何在RESTful Web服务中指定对资源的操作?

例如:测验资源.你有正常的CRUD动作,你也想做测验.比如生成新的测验.这是一个动作.你使用像一个路径/quiz/top5或者/quiz?type=top5还是什么?

我不明白在创建RESTful服务时如何编写对资源执行操作的路径.

jal*_*aba 1

我会推荐apigee的这本电子书:Web API 设计:开发人员喜爱的制作界面

按照他们的建议:

  • 务实的 RESTful 设计的首要原则是:让简单的事情保持简单。
  • 保持基本 URL 简单直观。
+------------+-------------------+--------------+----------------------------------------+------------------+
| Resource   | POST create       | GET read     | PUT update                             | DELETE delete    |
| /quizzes   | Create a new quiz | List quizs   | Bulk update quizs                      | Delete all quizs |
| /quizes/12 | Error             | Show Quiz 12 | If exists update Quiz 12, if not Error | Delete Quiz 12   |
+------------+-------------------+--------------+-----------------------------------------+------------------+
Run Code Online (Sandbox Code Playgroud)

关于您想要的首要列表,也许类似于“分页和部分响应”部分中概述的解决方案可能适合您的需求:

quizzes/top?limit=5

这样,您可以首先制作quizs/top具有默认值(5 或 10 个项目)的资源,然后提供分页/更改项目数量的功能。