http - 使用 Restful HTTP API 同时创建两个资源

标签 http rest

我正在为我的应用程序设计一个 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/

相关文章:

android - 将图像数组从 android 发送到 rest web 服务(使用 java),反之亦然

javascript - 使用 Express 上的 API key + Secret 保护我的 RESTful API

javascript - f {$$状态 : {…}} in request instead of data

node.js - 如何删除filepond上的临时上传文件

ios - xcode 的 HTTP 发布示例

java - 尝试使用 Spring 发出 HTTP 请求时出现奇怪的错误 "incompatible types required"

java - 如何使用 Java 配置创建 Spring RESTFul 服务?

http - MIME header 声明是一个好的做法吗?

java - 为什么java socket没有读取到全部数据会报错

android - 为应用程序实现匿名身份验证的正确方法?