RESTful サービス API の設計に関する 1 つの問題。どのように行うのが適切な方法なのかわかりません。いくつかの提案をお願いします。
私のシナリオはこんな感じです。ユーザー リソースと許可リソースがあります。
http://www.sample.com/rest/users
http://www.sample.com/rest/permissions
ユーザーは複数の権限を持つことができます。1 つの権限を多くのユーザーに使用できます。それは多対多の関係です。
通常、パーミッションはユーザーに属していると言えるので、次のような API があります。
http://www.sample.com/rest/users/{userId}/permissions
パーミッションとユーザーの間に関係を構築したい場合、2 つのオプションがあります。
最初に POST:
http://www.sample.com/rest/permissions
をパーミッションの本文で使用し、次に POST:http://www.sample.com/rest/users/{userId}/permissions
を一連のパーミッション ID で使用できます。このように設計された他の残りの API があるかどうかはわかりません。次のような 1 つの API のみを使用できます
http://www.sample.com/rest/users/{userId}/permissions
。この方法では、オプション 1 で説明した 2 つのことを行います。欠点は、作成したアクセス許可を再利用できないことです。1 人のユーザーが複数のアクセス許可を持つことができるように見えますが、1 つのアクセス許可は 1 人のユーザーによってのみ使用されます。これは最初の設計に従います。 . しかし、それはユーザーにとって本当に簡単です。
このトピックに関する経験があれば、どんな提案も歓迎します。