我正在设计一个与移动应用程序一起使用的 API,但我遇到了一个特定的要求。在一种情况下,我需要创建两个不同的资源,我更愿意用一个 HTTP 请求来完成,所以我不必处理多个请求和回调等。
为简化起见,我有一个名为 Buckets 的资源和一个名为 Apples 的资源。Buckets 包含许多 Apple,Buckets 也可以由用户命名。用户命名一个存储桶,然后在整个应用程序中,可以将不同的 Apple 实例分配给该特定存储桶。
我不清楚如何创建我的路线如果用户正在查看 Apple 并希望将其分配给具有全新名称的 Bucket。在这种情况下,我的路线必须首先使用新名称创建存储桶,然后将 Apple 添加到该存储桶。
我到目前为止的一些路线是:
POST /buckets # create a new bucket
POST /buckets/:bucket_id/apples # create a new apple within an existing bucket
这条混合路线会是什么样子?也许是这样的:
POST /buckets/new/apples # post data would contain NAME of new bucket and ID of apple
接受任何建议,但重申一下,我真的很想在一个 HTTP 请求中完成所有这些。不确定这是否破坏了 RESTful 设计模式。