ネストされたリソースのRESTURIを設計するための最良の方法は何ですか

ラバテ

複数の権限を持つ複数の権限を持つユーザーがいるとします。

指定されたユーザーのすべての承認を(権限なしで)取得するには、次のようにします。

GET users/{id}/authorizations

「通常の」ケースは、パフォーマンス上の理由から、権限に権限を埋め込まないことです。

そのユーザーのそれぞれの権限で承認を返す必要がある場合があります。

推奨される解決策は次のとおりです。

GET users/{id}/authorizations/permissions       // does not seem clear
GET users/{id}/authorizations?permissions=true  // with query string
GET users/{id}/authorizationswithpermissions    // new resource

その場合、REST URIを設計するための最良の方法は何ですか?

user1907906

あなたのアイデア

そのユーザーのそれぞれの権限で承認を返す必要がある場合があります。

GET users/{id}/authorizations/permissions

このようにコレクションリソースをネストすることはお勧めできません。「ユーザーのすべての権限のすべての権限を私に与える」という意味idですか?これは不明です。これをしないでください

GET users/{id}/authorizations?permissions=true

クエリは通常、コレクションリソースのクエリ、検索、またはフィルタリングに使用されます。このURLid、がであるユーザーのすべての承認を返しますしかし、その男は何ですか?これは不明です。これをしないでくださいpermissionstrue

GET users/{id}/authorizationswithpermissions

承認は承認です。それらの表現はURIに依存するべきではありません。これをしないでください。

コンテントネゴシエーション

問題の解決策は、コンテンツネゴシエーションを使用することです。使用するURL1つだけです

GET users/{id}/authorizations

つまり、ユーザーのすべての認証のリストを教えてくださいid

これで、権限なしでこのリストを取得したい場合は、HTTPヘッダーを使用できます

Accepts: application/vnd.mycompany.authorizations+xml

これを消化しましょう。

  • application:通常のMIMEタイプの最初の部分 application/xml
  • vnd:独自のタイプを定義するためのプレフィックス
  • mycompany.authorizations:あなたのタイプ
  • xml:の2番目の部分 application/xml

このリスト権限付与したい場合は、HTTPヘッダーを使用できます。

Accepts: application/vnd.mycompany.authorizations.permissions+xml

現在はを使用していることに注意してくださいvnd.mycompany.authorizations.permissionsサーバーは、権限を含む権限返す必要がありますリソースではなく表現のみが異なります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ルビーでネストされた条件を処理するための最良の方法は何ですか?

分類Dev

ネストされた配列をマージするための最良の方法は何ですか

分類Dev

ネストされた列挙型を変更するための最良の方法は何ですか?

分類Dev

UIAutomatorテストでリソース識別子を参照するための最良の方法は何ですか?

分類Dev

Java:ソートされたリストで要素を見つけるための最良の方法は何ですか?

分類Dev

stm32でシフトレジスタを設計するための最良の方法は何ですか

分類Dev

リスト内包を使用してティーガーエネルギー尖度を効率的に計算するための最良の方法は何ですか?

分類Dev

相互にデータを必要とするネストされた非同期関数を処理するための最良の方法は何ですか?

分類Dev

Pythonで複数のネストされたforループを作成するための最良の方法は何ですか

分類Dev

ストリームを渡すための最良の方法は何ですか

分類Dev

JavaScriptでネストされたループを解除する最良の方法は何ですか?

分類Dev

Kubernetesリソースのyamlファイルを作成するための最良の方法は何ですか?

分類Dev

Swiftでスカラー値のリストを宣言するための最良の方法は何ですか

分類Dev

同様のタイプのオブジェクトの周りにgraphqlスキーマを設計するための最良の方法は何ですか?

分類Dev

相互に排他的なリクエストパラメータのためのAPIを設計するためのより良い方法は何ですか?

分類Dev

Firebase RealtimeDatabaseのリストにデータを追加するための最良の方法は何ですか

分類Dev

Chefで「ユーティリティ」リソースを設定するための最良の方法は何ですか

分類Dev

Spring Data RESTを使用して深くネストされたJSON構造の更新を実装するための最良の方法は何ですか?

分類Dev

Typescript、異なるタイプのネストされたオブジェクトを宣言するための最良のアプローチは何ですか?

分類Dev

Vuexストアで複数のURL(axios)を設定するための最良の方法は何ですか?

分類Dev

予想されるリストに最も近いリストを見つけるための最良の方法は何ですか?

分類Dev

ネストされたコメントを反復処理するための最良の方法は何ですか?

分類Dev

.NETMVCに配置されたObjectContextのフォールバックを設計するための最良の方法は何ですか

分類Dev

Expoを使用して構築された新しいReactNativeアプリを「ソフトローンチ」するための最良の方法は何ですか?

分類Dev

Javaでファイルをリストするための最良の方法は、更新日でソートされていますか?

分類Dev

mlr:FailureModelをテストするための最良の方法は何ですか?

分類Dev

Javaアプリの不適切に形成されたXHTMLページをスクリーンするための最良の方法は何ですか

分類Dev

ネストされた辞書を実装する最良の方法は何ですか?

分類Dev

Angularでプロジェクトをネストするための最良の方法は何ですか

Related 関連記事

  1. 1

    ルビーでネストされた条件を処理するための最良の方法は何ですか?

  2. 2

    ネストされた配列をマージするための最良の方法は何ですか

  3. 3

    ネストされた列挙型を変更するための最良の方法は何ですか?

  4. 4

    UIAutomatorテストでリソース識別子を参照するための最良の方法は何ですか?

  5. 5

    Java:ソートされたリストで要素を見つけるための最良の方法は何ですか?

  6. 6

    stm32でシフトレジスタを設計するための最良の方法は何ですか

  7. 7

    リスト内包を使用してティーガーエネルギー尖度を効率的に計算するための最良の方法は何ですか?

  8. 8

    相互にデータを必要とするネストされた非同期関数を処理するための最良の方法は何ですか?

  9. 9

    Pythonで複数のネストされたforループを作成するための最良の方法は何ですか

  10. 10

    ストリームを渡すための最良の方法は何ですか

  11. 11

    JavaScriptでネストされたループを解除する最良の方法は何ですか?

  12. 12

    Kubernetesリソースのyamlファイルを作成するための最良の方法は何ですか?

  13. 13

    Swiftでスカラー値のリストを宣言するための最良の方法は何ですか

  14. 14

    同様のタイプのオブジェクトの周りにgraphqlスキーマを設計するための最良の方法は何ですか?

  15. 15

    相互に排他的なリクエストパラメータのためのAPIを設計するためのより良い方法は何ですか?

  16. 16

    Firebase RealtimeDatabaseのリストにデータを追加するための最良の方法は何ですか

  17. 17

    Chefで「ユーティリティ」リソースを設定するための最良の方法は何ですか

  18. 18

    Spring Data RESTを使用して深くネストされたJSON構造の更新を実装するための最良の方法は何ですか?

  19. 19

    Typescript、異なるタイプのネストされたオブジェクトを宣言するための最良のアプローチは何ですか?

  20. 20

    Vuexストアで複数のURL(axios)を設定するための最良の方法は何ですか?

  21. 21

    予想されるリストに最も近いリストを見つけるための最良の方法は何ですか?

  22. 22

    ネストされたコメントを反復処理するための最良の方法は何ですか?

  23. 23

    .NETMVCに配置されたObjectContextのフォールバックを設計するための最良の方法は何ですか

  24. 24

    Expoを使用して構築された新しいReactNativeアプリを「ソフトローンチ」するための最良の方法は何ですか?

  25. 25

    Javaでファイルをリストするための最良の方法は、更新日でソートされていますか?

  26. 26

    mlr:FailureModelをテストするための最良の方法は何ですか?

  27. 27

    Javaアプリの不適切に形成されたXHTMLページをスクリーンするための最良の方法は何ですか

  28. 28

    ネストされた辞書を実装する最良の方法は何ですか?

  29. 29

    Angularでプロジェクトをネストするための最良の方法は何ですか

ホットタグ

アーカイブ