問題タブ [hateoas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - Hateoas java.lang.IllegalStateException: RequestContextHolder 経由で現在のリクエストが見つかりませんでした
Controller の post メソッドの URL を呼び出すために Hateoas 機能を使用しています。しかし、以下で説明するように ControllerLinkBuilder クラスの linkTo メソッドを使用しようとすると、上記の例外が発生します。
Java クラス:
コントローラ クラス
誰かがそれについて考えているなら、私がここで間違っていることを教えてください。前もって感謝します。
html - Sails.JS と Hypermedia HATEOAS の例?
SailsJS を使用して HTML5 ハイパーメディア (HATEOAS) API を実装する良い例はありますか? もしそうでなければ、なぜですか?
api - REST 動的 URI
REST 応答のハイパーリンクに、応答の異なる属性の結果への参照を含めることはできますか?
たとえば、過去 6 か月のステートメントを収集するためのリンクを含む API 応答を設計しようとしていますが、この URI を元の GET 要求で返されたステートメントの start_date に関連させたいと考えています。
cxf - CXF JAX-RS サービス - HATEOAS
HATEOAS 機能を既存の Rest Web サービスに追加しようとしています。JAX-RS は CXF を使用しており、それを変更したいと考えています。HATEOAS を実装するために、ネット上で SPRING-HATEOAS を見てきましたが、CXF アプリケーション用ではありません。これに関するヘルプは大歓迎です。
api - RESTful API で機密性の高いプロパティを処理する方法 (パスワード、クレジット カードなど)
複数のハイパーメディア タイプと認証をサポートする REST フレームワークに取り組んでいます。処理方法がよくわからないのは、リソース内の機密値です。たとえば、API にユーザー管理を含める場合、パスワード用のフィールドがあることをクライアントに公開する方法が必要になりますが、実際のパスワード ハッシュは表示されません。クレジットカードでも同じです。そうしないと、フィールドの知識が範囲外になり、HATEOASが壊れてしまうため、ハイパーメディアの制約に違反します。
私が遭遇した実際のユースケースは次のとおりです。
プロジェクトは、他の人が彼らを雇うことができるように彼らを紹介する人々のディレクトリです. ユーザーには、プロファイルを持つユーザーと持たないユーザーの 2 種類があります。リソース周辺の設計は/users/{userid}
ユーザー向けであり、ユーザー/users/{userid}/profile
へ/profile/{profileid}
のリンクが含まれているため、クライアントはユーザーの名前などを取得できます。また、ユーザーは にクレジット カードを保存できます/users/{userid}/creditcards/{creditcardid}
。
ユーザーのプロファイルを表示するには、名前などにアクセスできるユーザー リソースも必要です。私たちが望んでいないのは、ユーザー リソースやクレジット カード リンクでユーザーのパスワードを公開することです。問題なくクレジット カード リンクを非表示にできると思いますが、パスワード フィールドについてはわかりません。許可されたユーザーに対してのみ公開する必要がありますが、他のユーザー モデルでは公開しないでください。認証および承認されていない限り、ユーザーに対してのみGET
許可されることに注意してください。
これを強調する奇妙なエッジケースの 1 つは、部分的にアクセスして変更できるオブジェクトです。あなたが、ユーザーの名前とアドレスを変更するアクセス権を持っていたが、パスワードを変更できなかった低レベルの管理者だったとします。アクセス権がないため、パスワード フィールドを公開できません。PUT
すべてのフィールドを持っていないリソースに対してどのようにすればよいですか? そのような場合に使用する必要がPATCH
ありますか?
TL;DR: REST API でフィールドを適切に非表示/公開し、ハイパーメディアの制約に従うにはどうすればよいですか?
json - Jettison の代わりに Jackson との Resteasy Atom Links
他の要件により、JSON シリアライゼーションに Jackson を使用する必要があります。残念ながら、ドキュメントに記載されているように、Jackson は RESTServiceDiscovery を使用した Atom リンクをサポートしていません。誰かがこれに対する回避策をすでに構築していますか? または、ジャクソンで機能しない理由と修正方法はありますか?
私たちの現在のアプローチは、XML を出力として使用し、JavaScript ライブラリを使用して XML を JSON に変換することです。
java - Spring HATEOAS と Spring Data Rest の比較
質問は、Spring HATEOAS と Spring Data Rest の違いは何ですか?
どちらも同じことができると思います.Spring Data Rest(Spring Dataの一部として)はもう少し生きているようです.
https://github.com/spring-projects/spring-hateoas https://github.com/spring-projects/spring-data-rest
どちらか一方をいつ使用しますか?
rest - RESTful マスター/詳細
Web アプリケーションに 3 つのドロップダウン ピッカーがある。Web アプリケーションは、Restful サービスを使用してピッカー データを入力します。
/years
最初の 2 つのピッカーは、や などから値を取得します/colors
。3 番目のものは、2 つの設定に応じて値を取得する必要があります。
したがって、次のようなものになる可能性があります/models?year=1&color=red
。
問題は、これを HATEOAS に準拠させる方法です (開発者がモデルを取得するための URL を作成する方法を知る必要がないように)。
ルート/
は、次のような多くのリンクを取得します。
の代わりに何が必要???
ですか? 何らかのテンプレートがあった場合/models?color={color}&year={year}
、開発者は URL を作成する必要があります。これでよろしいですか?
または、取得した各色の年のリストへ/colors
のリンクと、取得した各年のモデルのリストへのリンクがある可能性があり/years?color=red
ますが、最初に色を選択し、次に年を入力してからモデルを入力する必要があります。色から移入された年だけでなく、色と年の両方にモデルを依存させたい場合、何か考えはありますか?
この状況で、ヘイトアズ準拠にすることさえ可能ですか?