276.6. REST 生成者绑定


REST 制作者支持像 rest-dsl 一样使用 JSon 或 XML 进行绑定。

例如,要在启用 json 绑定模式中使用 jetty 来在 rest 配置中进行配置:

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 到 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
重要

如果您希望为调用 REST 服务收到的响应消息发生 POJO 绑定,您必须配置 outType 选项。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部