我现在面临一个问题。
我们和我们的团队正在使用 REST 开发一个新的应用程序。我们面临的问题是我们有时需要获取某种数据,但不知道如何创建 URI。
例如。如果我需要产品列表,那么 api/products/ (GET) 就可以了。单个产品,api/products/1 (GET)
如果我只需要一份缺货产品清单,或者只剩下一件产品怎么办?
我将使用什么 URI?我认为 REST 做不到。
谢谢。
顺便说一句:我正在使用 VS 2012 Web API。
我现在面临一个问题。
我们和我们的团队正在使用 REST 开发一个新的应用程序。我们面临的问题是我们有时需要获取某种数据,但不知道如何创建 URI。
例如。如果我需要产品列表,那么 api/products/ (GET) 就可以了。单个产品,api/products/1 (GET)
如果我只需要一份缺货产品清单,或者只剩下一件产品怎么办?
我将使用什么 URI?我认为 REST 做不到。
谢谢。
顺便说一句:我正在使用 VS 2012 Web API。
您可以在 REST 中使用“查询参数”进行“过滤”,这是一种常用方法。请记住,REST 是一种“架构风格”,即一组留下一些解释空间的原则。在你的情况下,我会说你可以创建这样的东西:
GET /api/products?instock=true
GET /api/products?countinstock=1
其中“instock”和“countinstock”是“查询参数”,您在 REST API 实现中使用它们作为过滤器来查询您的数据库。
这种方法在 RESTful 设计中被普遍接受,即您仍然拥有执行 GET 操作/动词的“资源”(产品),唯一额外的部分是用于过滤和约束“操作”的“查询参数” “资源。在此处查看本主题中的一些进一步讨论(并支持“查询参数”的用户):
为什么不直接修改您的控制器以获取多个参数,例如 id 和 inStock?例如,您的 URI 可能类似于api/products?id=1&inStock=0