私は多くを検索しましたが、自分の条件に関する私の質問に適切な答えが見つかりませんでした。
私はREST APIを構築していますが、境界線のように見えるケースは次のとおりです。
- 私は2つのエンティティ、ユーザーとロールを扱っています。ユーザーには複数の役割を割り当てることができます。
- ロールをユーザーに割り当てるには、ロールが既にデータベースに存在している必要があります。
- ロールをユーザーに割り当てるには、ロールの「コード」、つまり短い文字列が必要です。
-The今使用URIパステンプレートがある:
--Users:はlocalhost:8080/API /ユーザ
--Givenユーザー:はlocalhost:8080/API /ユーザー/ {にuserId}所与の
--rolesユーザー:localhost:8080/api/users/{userId}/roles
特定のユーザーを特定のロールに「リンク」するには、2つのオプションがあります。
- いずれのシナリオでもベストプラクティスとして聞こえるもので、ポストデータを本体に送信します(JSONなど)。
他の1つは、それをuriと空のボディで送信します。たとえば、IDがU001のユーザーをロールR001にリンクするには、本文にデータを送信しないで、次のURIに投稿する必要があります:localhost:8080/api/users/U001/roles/R001
私は最初のオプションを使用しても構わないと思うが、これは一番正しいと思われるが、この特定のケースでは、ほとんど空のボディを送る方が良いとは思わない(なぜなら、 localhost:8080/api/users/U001/roles 'に投稿するか、本文をスキップしてuriを通してlocalhost:8080/api/users/U001のようなパスパラメータとしてURLを送信するだけです。/roles/R001
HTTP POSTにURIパス変数を使用する方法はありますか?
ありがとうございました。