問題タブ [curie]
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 - RestTemplate を介して Spring ハイパーメディア リソースを HAL+JSON CURIE と交換する
Spring Framework 4.1.0 と Spring HATEOAS 0.16.0 を使用して、Spring Web アプリケーションとそのアプリケーション用の Spring テスト クライアントの両方を開発しています。
テスト クライアントには、次のようなステートメントがあります。
...ここCalculation
で、Jackson アノテーション (たとえば、@JsonProperty
) を持つ POJO です。
CURIE がなければ、そのRestTemplate.exchange()
呼び出しは成功します:response.getBody().getLinks()
の null 以外の空でないインスタンスを返しますList<Link>
。
私の Web アプリケーションには、「サブ計算」などの非標準のリンク関係があります。CURIEを使いたい。
CURIE を使用すると、そのRestTemplate.exchange()
呼び出しは失敗します: 応答デシリアライゼーション コードが をスローorg.springframework.http.converter.HttpMessageNotReadableException
します。原因com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException
: 'JSON を読み取れませんでした: 認識されないフィールド "名前" (クラス org.springframework.hateoas.Link)、無視可能としてマークされていません (既知のプロパティ "href" の 1 つ) ])'
特に、Jackson_links
は応答 JSON のマップからList<Link>
型付きフィールドへの CURIE のデシリアライズに失敗しますorg.springframework.hateoas.ResourceSupport.links
。応答の JSON は次のようになります。
HAL+JSON ("application/hal+json")表現が CURIEを使用RestTemplate.exchange()
するリソースを取得するにはどうすればよいですか?
json - 誰もがCURIEとその使用方法について適切に説明できますか?
HAL 仕様で説明されている CURIE を見てきました。一見すると、URI のテンプレートを提供する方法のように見えます。ただし、上のドキュメントにアクセスするために使用できることが目立つように言及されていることもわかりますrel
。どちらですか?それは単なるテンプレートメカニズムですか?良いユースケースの例はありますか?
また、以下は CURIE の合法的な使用になりますか? それとも、ドキュメントを提供するためにのみ使用する必要がありrel
ますか?
ここbundle:channels
は に展開されhttp://my.api.com/bundles/1/channels
ます。
rest - 春のキュリーズ HATEOAS
Spring Boot と HATEOAS を使用して REST API を構築していますが、キュリーの作成に苦労しています。Spring HATEOAS ガイドによると、応答にキュリーを自動的に挿入するには、次のことを行う必要があります。
私の構成クラスは次のようなものです:
@EnableWebMvc を構成クラスに追加しようとしましたが、応答 (hal) のレンダリングが変更され、キュリーが表示されません。キュリーを作成するには、コントローラーで何かをする必要がありますか?
更新: Spring Hateoas を (0.17.0.RELEASE に) 更新したところ、コレクション名がキュリーでレンダリングされるようになりましたが、キュリーが _links セクションに表示されません。
_links セクションにリンクを 1 つ追加すると、キュリー リンクが表示されます。
これは私のコントローラーです: