我正在尝试使用RESTful开发在线购物网络服务。但是,我对此很新,我不知道如何设计它。
这是我的模特:
现在我对产品有以下需求:
以下是关于上述情况的问题:
此外,如果我需要排序或添加一些限制该怎么办? 例如:
感谢您的帮助!
答案 0 :(得分:0)
首先,您已获得主要资源:
/users/{id} /products/{id}
这两者之间的关系应该是通过链接,因为在没有引用另一方(用户不是产品所有,或者反之亦然)的情况下思考它们是完全合理的。使用常规CRUD技术处理这些资源,并考虑复杂属性的子资源。
然后你就有了分类系统。这也很好地建模为资源:
/category/{name} /category/{name}/{subname}
这里的一个关键区别是你不需要在类别上支持除GET之外的任何操作;那里的信息(该类别的成员列表)实际上是根据产品的权威信息合成的。您希望允许人们限制列表返回的信息集(例如,有限范围,不同排序),这是通过GET上的参数完成的。类别成员列表应该是相关产品资源的链接列表。
如果您支持用户分类,请将其作为单独的资源,并注意添加适当的安全限制;只有获得授权的人才能看到那种东西。