現在、新しいAPIとそのAPIを使用するWebアプリケーションを設計しています。例えばネストされたRESTリソースの角度ui-routerステート名
、私は以下のRESTリソースを持っているとします(春・ブートmicroserviceを使用して):
GET /orders // get all orders
POST /orders // create an order
GET /orders/1 // get order with id 1
PUT /orders/1 // update order with id 1
GET /orders/1/items // get all order items
POST /orders/1/items // create an order item
GET /orders/1/items/2 // get the order item with id 2 of order with id 1
PUT /orders/1/items/2 // update order item with id 2 of order with id 1
私は、これは非常に一般的な使用だと思います。私のアプリケーションでは、リソースははるかに入れ子になっています。
私はui-routerでangleを使用しており、REST-APIに可能な限り密接に関係するフォーム/ビューの状態/ URLを定義したいと考えています。 GET、POST、PUTに同じURLを使用することはできないため、これらの状態を定義するための標準(ベストプラクティス)が何であるかを知りたいと思います。
ほぼすべてのテキストは、などのチュートリアルは、CRUDの方法については、以下のURL /状態を使用しています。
/#/orders/ // state: orders
/#/orders/create // state: orders.create
/#/orders/1/show // state: orders.show
/#/orders/1/edit // state: orders.edit
これはかなり単純です。 しかし、ネストされたリソースを設計する方法については、誰も説明していません。したがって、ネストされたアイテムリソースをどのように処理するかは興味深いでしょう。
通常、アイテムを表示するコントローラーでネストされたビューを持っていて、そのアイテムはorders.show状態の子ステートになります。書籍/チュートリアルで提案されているように、私は同じスキームを使用する場合は
したがって、それは次のURLにつながる:
/#/orders/1/show/items // state: orders.show.items
/#/orders/1/show/items/create // state: orders.show.items.create
/#/orders/1/show/items/2/show // state: orders.show.items.show
/#/orders/1/show/items/2/edit // state: orders.show.items.edit
しかし:これらのURLは何とか正しく見ていません。だから、どのような経験と勧告が存在しますか?またはクリーンなURLを取得するための推奨事項は何ですか?したがって、きれいなアプリケーション構造ですか?