2.3.2. 自定义 RESTEasy Annotations


由于字节码中添加了参数名称,您不再需要在以下注释中指定参数名称:@ PathParam、@QueryParam、@Form Param、@CookieParam、@HeaderParam、@HeaderParam@MatrixParam。为此,您必须在具有可选 value 参数的不同软件包中切换到名称相同的新注解。您可以按照以下步骤实现:

  1. 导入 org.jboss.resteasy.annotations.jaxrs 软件包,以替换来自 JAX-RS 规范的注释。
  2. 配置构建系统,以在字节码中记录方法参数名称。

    Maven 用户可以通过将 maven.compiler.parameters 设置为 true 来在字节码中启用记录方法参数名称:

    <properties>
        <maven.compiler.parameters>true</maven.compiler.parameters>
    </properties>
  3. 如果名称与注释的变量的名称匹配,则删除注解值。

    注意

    您可以省略注释的方法参数的注解名称,以及注释的字段或 JavaBean 属性。

例如,请考虑以下用法:

import org.jboss.resteasy.annotations.jaxrs.*;

@Path("/library")
public class Library {

   @GET
   @Path("/book/{isbn}")
   public String getBook(@PathParam String isbn) {
      // search my database and get a string representation and return it
   }
}

如果您标注的变量的名称与 path 参数不同,您可以指定名称,如下所示:

import org.jboss.resteasy.annotations.jaxrs.*;

@Path("/library")
public class Library {

   @GET
   @Path("/book/{isbn}")
   public String getBook(@PathParam("isbn") String id) {
      // search my database and get a string representation and return it
   }
}
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.