我举一个例子,标题可能听起来有些混乱。
如何为类似的东西构建资源路径:
GET / courses /?language = english& active = true / units
我想过滤课程(通常不使用id),然后获取此结果的单位。你会怎么做?我想不允许在路径之间使用问号。
答案 0 :(得分:1)
这将取决于您的数据库架构什么是"课程"和"单位" 。使用RESTful方式的重点是始终构建特定于资源的请求和URL。
但是,让我们说一门课程上有X个单元。以下是我要做的RESTful路径:
由于过滤课程和使用/ unit后缀的路径问题,可以通过添加另一个查询参数来完成,该参数指定请求应返回的字段。像这样:
GET / courses?language = english& active = true& fields = units
这将过滤课程,然后仅返回单位'关于响应的字段。正如我所说的,根据您的数据库和模型,如果单元没有存储在课程中,那么通过请求/课程路径来获取它们将是一种糟糕的做法。在这种情况下,首先请求与所需过滤器匹配的课程,然后对