問題タブ [hypermedia]
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.
xml - Java クラス モデルに注釈を付けて JSON+Hypermedia リンクを生成する方法はありますか?
JAXB と HATEOASを使用して Hypermedia リンクを含める方法の例はたくさんありますが、Hypermedia + JSON の例は見つかりません。私が JAXB を気に入っているのは、注釈を使用するだけで XML をオブジェクトにマップできるからです。HATEOAS をインクルードします。これは、XML のみを除いて、ほとんど必要なものです (もちろん JAXB のため)。問題は、 2.0 ユーザー ガイドに従って、JAXB プロバイダーが JSON をサポートしていないことです。
したがって、上記の例を使用して、私が探しているのは、この XML+Hypermedia 出力の代わりです
代わりに、この JSON+Hypermedia 出力を取得します
*はい、どちらの例もリソースの表現ですが、オブジェクト/モデルの例は類似している必要があるため、それらを含めません。
この JSON+Hypermedia 仕様が標準化されていないため、現在これを行うためのフレームワークがないということでしょうか? 私が見つけたのは、提案と「継続する...」でした。
MessageBodyWriter を使用して独自の JAX-RS プロバイダーを作成できることは承知していますが、これはオブジェクトへの "application/json" 要求のマーシャリングにのみ役立ちます。ハイパーメディア リンクを取得する方法がまだ必要です。
これを探している理由は、現在の要件がハイパーメディア リンクを含む JSON データを返すことだからです。
誰かが完全に機能する例を持っていますか? 何も見つからず、「自分で巻く」必要があるという記事を見たのを漠然と思い出しました。望ましくありませんが、それが必要な場合は...
spring - リソースIDをクライアントに提示する方法は?
org.springframework.hateoas.ResourceSupport
すでにgetId
メソッドが含まれています。
私のリソース(またはより良いドメインオブジェクト)にクライアントに提示する必要がある整数IDが含まれている場合、単純なものid
を追加してgetId
/を追加することはできませんsetId
(ResourceSupport
すでに持っているように)。
何かを返す必要がありますか、それとも<myResourceObjectName>_id
によって提供された ID リンク/URL をクライアントに解釈させるほうがよいResourceSupport
ですか?
java - スタンドアロン単体テスト用に Jackson2HalModule を手動で登録する方法は?
私は試した:
それでもエラーが発生しました:
ruby-on-rails - REST の抽象的な専門用語を理解する
REST に関するこれらの基本的な質問をするためにここにいるかどうかはわかりません...
REST を理解しようと、実装しようとすればするほど、混乱します。おそらく、人々が REST とは何かを教えに来るときに目にする抽象的な言葉のせいだと思います。例えば、
ウィキペディアからREST、
Representational State Transfer (REST) は、World Wide Web のアーキテクチャを抽象化したものです。より正確には、REST は、分散ハイパーメディア システム内のコンポーネント、コネクタ、およびデータ要素に適用される一連の調整されたアーキテクチャ上の制約から構成されるアーキテクチャ スタイルです。
そしてこちらのリンクから
リソースの表現は統一する必要があります
URL スキームやリソース名マッピングではなく、ハイパーメディアを使用して関係を表す
API への単一のエントリ、そこからのハイパーリンクを使用します (ハイパーリンク?なぜハイパーメディアではないのですか??)
表現に「自己」リンクを含める
REST は、ActiveRecord モデルを JSON として吐き出すことだけを意味するわけではありません (では、何を吐き出すべきでしょうか??)
では、以下の抽象的な専門用語は何を意味するのでしょうか?
- 表現、
- 資力、
- URLスキーム、
- ハイパーメディア(ハイパーテキストやハイパーリンクとの違いは何ですか???)、
- リソース名のマッピング - to、
- ActiveRecord モデル
具体例で説明していただけますか?
c# - 名前でルートを取得
私は、ハイパーメディアを使用して asp.net Web API に取り組んでいます。現在、コントローラーによって公開されているリソースへのリンクを作成するリンク クリエーターを作成しています。リフレクションで解決した属性ルートをサポートする必要がありますが、Owin.AppBuilder で指定されたマップされたルートもサポートする必要があります。
これにはクラスを使用できますUrlHelper
が、それは現在のリクエストに依存し、作成しているリンクは別のコントローラーへのリンクである可能性があるため、現在のリクエストとは関係ありません。という名前のルートのルート構成データをロードする必要がありますDefaultApi
。これを行う方法はありますか?
rest - クライアントのRestで動詞ごとの許可を処理する方法は?
次のような URL にリソースがあるfoo.com/api/bar
とします。ユーザーがそのリソースを GET することは許可されているが、そのリソースに POST することは許可されていないとします。
動詞ごとに異なる権限を指定することで、これを簡単に解決できます。しかし、クライアントが POST の実行を許可されているかどうかを事前に知るにはどうすればよいでしょうか?
ページに「保存」ボタンがあり、ユーザーが POST を実行する権限を持っていない場合は有効にしないでください。
私は HATEOAS/Hypermedia 制約について知っており、さまざまなアクションのリンクのリストをリソースと一緒に渡すことができることを知っています。しかし、私の知る限り、使用する動詞に関する情報は含まれておらず、さまざまなアクションの URL のみが含まれています。動詞が含まれる他のバリエーションはありますか?
あらゆる種類のメタデータでリソースを混乱させたくない場合、他のアプローチはありますか?