我正在设计一个与移动应用程序一起使用的API,我坚持一个特定的要求。有一种情况我需要创建两个不同的资源,我宁愿用一个HTTP请求来做,所以我不必乱用多个请求和回调等。
为了简化,我有一个名为Buckets的资源和一个名为Apples的资源。存储桶包含许多苹果,并且存储桶也可以由用户命名。用户为Bucket命名,然后在整个应用程序中,可以将不同的Apples实例分配给该特定存储桶。
我不清楚如何创建我的路线如果用户正在查看Apple并希望将其分配给具有全新名称的Bucket。在这种情况下,我的路线必须首先使用新名称创建Bucket,然后将Apple添加到该Bucket。
到目前为止我的一些路线是:
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设计模式。
答案 0 :(得分:0)