2.7.13. YAML 供应商


警告

不支持 resteasy-yaml-provider 模块。不建议使用,因为 RESTEasy 用于取消托管的 SnakeYAML 库中存在安全问题。

RESTEasy 附带使用 SnakeYAML 库构建的 YAML 支持。

在 JBoss EAP 7.1 之前的版本中,YAML 提供程序设置默认启用,您只需要为 YAML 配置 Maven 依赖项,即可在应用中使用。自 JBoss EAP 7.1 起,默认情况下,YAML 提供程序是禁用的,应用中必须明确启用 YAML 提供程序。

启用 YAML 提供者

要在应用程序中启用 YAML 供应商,请按照以下步骤执行:

  1. 创建或更新名为 javax.ws.rs.ext.Providers 的文件。
  2. 将以下内容添加到 文件中:

    org.jboss.resteasy.plugins.providers.YamlProvider
  3. 将文件放到 WAR 或 JAR 文件的 META-INF/services/ 文件夹中。
YAML Provider Maven 依赖项

要在应用程序中使用 YAML 供应商,您必须将 snakeyaml JAR 依赖项添加到应用程序的项目 POM 文件中。

示例:YAML 的 Maven 依赖项

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-yaml-provider</artifactId>
    <version>${version.org.jboss.resteasy}</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>org.yaml</groupId>
    <artifactId>snakeyaml</artifactId>
    <version>${version.org.yaml.snakeyaml}</version>
</dependency>

YAML 提供程序代码示例

YAML 供应商识别三种 mime 类型:

  • text/x-yaml
  • text/yaml
  • application/x-yaml

以下是如何在资源方法中使用 YAML 的示例。

示例:资源生成 YAML

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("/yaml")
public class YamlResource {

  @GET
  @Produces("text/x-yaml")
  public MyObject getMyObject() {
    return createMyObject();
  }
...
}

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.