問題タブ [hal-json]
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 - HAL表現でオブジェクトを投稿する方法は?
RestTemplate を介して Spring-Data-Rest Web サービスに投稿しようとすると、ドメイン オブジェクトの JSON 表現が、HAL 表現ではない本格的な JSON オブジェクトに変換されます。ここでの私の仮定は、Jackson2HalModule をデシリアライザーとして登録する必要があるということですが、それを objectMapper に登録することを考えると、その方法がわかりません。シリアル化は、POST/PUT ではなく、Web サービスで GET を呼び出すときに正しく機能します。
リクエスト outputBuffer フィールド:
残りのテンプレートの構成:
リクエスト ヘッダー:
呼び出し方法:
rest - GrailsでHALを使用してリンクレンダリングタイプをカスタマイズする方法は?
grails ドキュメントのリンク レンダリングのカスタマイズ セクションから、href をカスタマイズできることがわかります。
「タイプ」フィールドをカスタマイズするにはどうすればよいですか?
java - HAL+JSON をサポートするために MappingJackson2HttpMessageConverter をオーバーライドしても問題ありませんか?
私の Spring Boot アプリケーションでは、HAL object-mapper を に割り当てましたMappingJackson2HttpMessageConverter
。これは、カスタム メディア タイプ+json
がデフォルト コンバーターで終了し、最終的に認識されるためです。MappingJackson2HttpMessageConverter
Spring HATEOAS によって登録されたカスタムインスタンスは、 のみを認識しapplication/hal+json
ます。私のカスタム メディア タイプはapplication/vnd.service.entity.v1.hal+json
、既定のインスタンスで認識される形式の です (サポートされているため、application/json
とapplication/*+json
)。ただし、デフォルトのインスタンスはリンクを HAL 規則に正しくシリアライズしません。次のようにマッパーを登録することで回避できました。
現在、通常の JSON シリアライゼーション/デシリアライゼーションを HAL の問題で汚染しているという懸念がありますが、これを行うための他の方法 (使用するすべてのカスタム メディア タイプを明示的に指定する以外) は考えられません。考え?
client - Traverson を使用した Spring-Hateoas クライアント
Traverson の Spring-Hateoas で休憩サービスを利用したいのですが、Web で何も見つかりませんでした。Spring-Boot 1.1.10.RELEASEを使用しています。
クライアント コールは次のようになります。
そして、次の問題が発生します。
=====
関連する構成:
POM:
アプリケーション クラス:
====
上記の URL を呼び出したときの Rest-Application Response:
助けてくれてありがとう。
json - 誰もがCURIEとその使用方法について適切に説明できますか?
HAL 仕様で説明されている CURIE を見てきました。一見すると、URI のテンプレートを提供する方法のように見えます。ただし、上のドキュメントにアクセスするために使用できることが目立つように言及されていることもわかりますrel
。どちらですか?それは単なるテンプレートメカニズムですか?良いユースケースの例はありますか?
また、以下は CURIE の合法的な使用になりますか? それとも、ドキュメントを提供するためにのみ使用する必要がありrel
ますか?
ここbundle:channels
は に展開されhttp://my.api.com/bundles/1/channels
ます。