我正在为我的应用程序设计一个 Restful HTTP API。
应用有类别,类别有产品。
我希望用户能够在类别中创建产品,如果该类别不存在,则会自动创建。因此将没有用于单独创建类别的 API(因为我不希望人们在没有任何产品的情况下创建类别)。
我不太明白应该如何为此设计 API。通常的方法是:
1. Create a category:
POST /categories {"name": "Movies"}
2. Use the new category's id to create a product:
POST /categories/:id/products {"name": "The Matrix"}
既然我不想把第一个暴露给用户,我应该如何让他们直接创建产品呢?
最佳答案
产品可能不应该是类别的从属资源。只需使用它所属的类别列表创建新产品,然后使用/categories 资源浏览类别。当新类别出现在产品的类别列表中时,作为副作用添加新类别。
1. Create product:
PUT /product/the_matrix {"name":"The Matrix","category_list":["movies","science fiction"]}
2. Browse categories:
GET /categories
关于http - 使用 Restful HTTP API 同时创建两个资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11071668/