276.6. Rest プロデューサーバーインディング


REST producer は、rest-dsl と同様に JSON または XML を使用したバインディングをサポートします。

たとえば、json バインディングモードをオンにして jetty を使用するには、残りの設定でこれを構成できます。

restConfiguration().component("jetty").host("localhost").port(8080).bindingMode(RestBindingMode.json);

from("direct:start")
  .to("rest:post:user");

次に、rest producer を使用して REST サービスを呼び出すと、REST サービスを呼び出す前に、すべての POJO が json に自動的にバインドされます。

  UserPojo user = new UserPojo();
  user.setId(123);
  user.setName("Donald Duck");

  template.sendBody("direct:start", user);

上記の例では、POJO インスタンス UserPojo をメッセージ本文として送信します。また、REST 設定で JSON バインディングをオンにしたため、REST サービスを呼び出す前に POJO が POJO から JSON にマーシャリングされます。

ただし、応答メッセージ (たとえば、REST サービスが応答として送り返すもの) のバインドも実行する場合は、outType オプションを設定して、JSon から POJO に非整列化する POJO のクラス名を指定する必要があります。

たとえば、REST サービスが com.foo.MyResponsePojo にバインドする JSON ペイロードを返す場合、次のように設定できます。

  restConfiguration().component("jetty").host("localhost").port(8080).bindingMode(RestBindingMode.json);

  from("direct:start")
    .to("rest:post:user?outType=com.foo.MyResponsePojo");
重要

REST サービスの呼び出しから受信した応答メッセージに対して POJO バインディングを行う場合は、outType オプションを設定する必要があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.