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

© 2025 Red Hat