273.6. REST producer 绑定


REST 制作者支持使用 JSon 或 XML (如 rest-dsl )的绑定。

例如,要在其余配置中打开对 json 绑定模式使用 jetty:

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

from("direct:start")
  .to("rest:post:user");
Copy to Clipboard Toggle word wrap

然后,当使用其他制作者调用 REST 服务时,它将在调用 REST 服务前自动将任何 POJO 绑定到 json:

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

  template.sendBody("direct:start", user);
Copy to Clipboard Toggle word wrap

在上面的示例中,我们发送 POJO 实例 UserPojo 作为消息正文。由于我们在其余配置中打开了 JSon 绑定,因此 POJO 会在调用 REST 服务之前从 POJO 派生到 JSon。

但是,如果要为响应消息执行绑定(例如 REST 服务发回为响应)您需要配置 outType 选项以指定 POJO 到 JSon 到 POJO 的类名。

例如,如果 REST 服务返回 JSon 有效负载,它绑定到 com.foo.MyResponsePojo,您可以按照如下所示进行配置:

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

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

如果您希望 POJO 绑定到 POJO,则必须配置 outType 选项,以获取从调用 REST 服务收到的响应消息。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat