我正在构建一个遵循 REST 架构风格的 Web 服务。我正在使用 JAX-RS 来简化它。然而,这个问题并不关心技术,而是正确使用资源路径。
我在我的应用程序中创建了一些资源,例如测验、问题和问题反馈。
我已经创建了路径,例如
/quiz
/question/1
等等。现在,我已经看到了一些暴露路径的 Web 服务 API,例如/approved
或/questions/approved
. 路径的批准部分似乎更像是问题可能具有的属性(在这种情况下),我想知道这是否可以,以及将其作为请求参数和像这样的路径的一部分之间的界限在哪里?
是否可以在 web 服务中公开路径,以某种方式公开系统中的预期资源之一,例如在这种情况下Question
,但是通过/approved
除了正常路径之外的/questions
路径?规则是什么,这应该是怎样的?
如果没有人问我,我会创建一条类似的路径/questions?type=approved
:GET。
因为已批准不是我系统中的资源。还是可以创建公开资源的路径...但不要直接使用资源名称。