オブジェクトとIDと名前で構成されるWidgetがあるとします。クライアントが新しいWidgetオブジェクトをPOSTできるエンドポイント/ widgetを公開するとしましょう。 IDフィールドをクライアントが変更することはできませんが、依然としてクライアントには見えるようにするには、IDフィールドを変更できないと宣言することはできますか?私はそれが何か違いがあれば、RESTeasyを使っています。RESTful APIの特定のフィールドへの更新を制限する
答えて
私はいくつかのオプションを考えることができます。
まず、表現の一部としてIDを公開する必要がありますか?それとも、新しい投稿されたリソースの場所を返すだけで十分ですか?
あなたのクライアントのポスト:
<Resource><Name>New Resource</Name></Resource>
そして、あなたが応答:その向こう
HTTP/1.1 201 Created
...
Location: /resources/{new_resource_id}
は、私はそれはあなたのクライアントとのいくつかの簡単な、よく理解規則を持ってOKだと思います。ほとんどの開発者は、IDがシステム生成される可能性が高いことを理解していると思います(特にPUTではなくPUTを実行しているため)。あなたは、任意の読み取り専用フィールド持っている(または他の検証をや情報を表示する)あまり目立たない例については、私はそれは、メタデータへのリンクを提供するために意味をなすかもしれないと思う:までですのようにメタデータが見える何
<NewPersonForm>
<atom:link href="/people/new/metadata" rel="/rels/metadata" />
<Name />
<Department>HR</Department>
</NewPersonForm>
あなたが、これらの線に沿って何かあなたのために働くかもしれない:
<Metadata>
<Element>
<Name>Department</Name>
<IsReadOnly>True</IsReadOnly>
</Element>
</Metadata>
クライアントに情報を提供するために、素敵な、フォーマットニュートラル(それはXMLとJSONの両方に適しています)方法だ、と彼らは本当にしたい場合は、彼らは、フォームに基づいてフォームを構築することができます(検証情報、言語固有のラベル、データ型情報を提供するために使用します)。
こちらがお役に立てば幸いです。
ジョン
あなたは何でも自由に行うことができるコードをサーバーに書きます。それには、必要に応じてデータの追加や変更が含まれます。
サーバが POSTさエントリを変更して自由であるので、例えば、原子の 内容を変更することにより、::id要素を、 エントリを返すことに役立つことができ、明示的に述べてAtomPub protocol section 9.2をチェック クライアントのクライアントビューとサーバービューに の新しい エントリを関連付けることができます。
- 1. RESTfulリソースへのアクセスを制限する
- 2. 特定のカテゴリのページへのAPI検索を制限する
- 3. 特定のREST APIエンドポイントへのパブリックアクセスを制限する
- 4. 特定の属性の更新を制限するYii2
- 5. 特定のカテゴリへのクエリの制限
- 6. Excelへのアクセス中に特定のフィールドを更新する
- 7. SharePoint 2010リスト内の特定のフィールドへの編集を制限する
- 8. Azure AD:特定のWeb APIへの消費者のアクセスを制限する
- 9. WooCommerce:「製品の更新」APIで返されるフィールドを制限する
- 10. RESTFULサービスの定義と制限
- 11. クライアントアプリケーションを更新せずにサーバーREST APIへのパブリックアクセスを制限する
- 12. REST APIへのアクセスを制限する
- 13. RESTfulサービスへの呼び出し回数を制限する
- 14. 特定のマシンへのユーザーログインを制限する方法は?
- 15. 特定のGoogleグループメンバーへのアクセスを制限する
- 16. Drupal 7:特定のユーザーロールへのファイルアクセスを制限する方法
- 17. 特定のTeamCityプロジェクトへのアクセスを制限する
- 18. dnd、特定のノードタイプへのドロップを制限する方法は?
- 19. ASP.net - 特定のマシンへのユーザーログインを制限する
- 20. Symfony2.4.2特定のページへのアクセスを制限する
- 21. Google oauth - 特定のGoogleグループへのログインを制限する
- 22. 特定の文字への入力を制限する
- 23. 特定のユーザープロファイルへのアクセスを制限する
- 24. AWS特定のSQSキューへのアクセスを制限するIAMユーザポリシー
- 25. mongodbドキュメントの特定のフィールドを更新
- 26. Postgresql、特定の列の更新を制限する(読み取り専用)
- 27. 特定のサブドメインへの特定の呼び出しを制限しますか?
- 28. JPA:更新のみ特定のフィールド
- 29. Apache2 - 特定のURLのphpメモリ制限を変更する
- 30. enquiry.phpフォームフィールドを特定の文字の制限に限定する