52.8. REST 生成者绑定


REST 生成者支持使用 JSon 或 XML (如 rest-dsl )进行绑定。

例如,要将 jetty 与 json 绑定模式一起使用,您可以在其余配置中配置它:

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

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

然后,当使用 rest producer 调用 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 绑定,因此在调用 REST 服务前,POJO 将从 POJO 变为 JSon。

但是,如果您还要为响应消息执行绑定(例如 REST 服务作为响应发送),则需要配置 outType 选项,以指定 POJO 的类名称,以便从 JSon 到 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 绑定对于调用 REST 服务的响应消息,您必须配置 outType 选项。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat