私はモバイルアプリで使用するAPIを設計していますが、1つの特定の要件に固執しています。2つの異なるリソースを作成する必要がある場合が1つあり、1つのHTTPリクエストで作成したいので、複数のリクエストやコールバックなどをいじる必要はありません。
簡単にするために、バケットと呼ばれるリソースとアップルと呼ばれるリソースがあります。バケットには多くのリンゴが含まれており、ユーザーはバケットに名前を付けることもできます。ユーザーはバケットに名前を付け、アプリ全体で、その特定のバケットにさまざまなAppleインスタンスを割り当てることができます。
ルートを作成する方法がわかりません。ユーザーがAppleを見ていて、それを新しい名前のバケットに割り当てたい場合。この場合、私のルートでは、最初に新しい名前でバケットを作成してから、そのバケットに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
どんな提案にもオープンですが、繰り返しになりますが、私は本当にこれらすべてを1つのHTTPリクエストで実行したいと思います。それがRESTfulデザインパターンを破るかどうかはわかりません。