6

我是java新手。我在看下面的代码。

@Produces("text/xml")
@GET
@Path("/xml/search")
public Object searchXML(@QueryParam("query") String query,
        @QueryParam("granularity") String granularity) {
    return search(query, granularity);
}

在上面代码中的函数定义之前,我无法理解@Produces、@GET、@Path 和@QueryParam 的用途。任何人都可以对此有所了解。谢谢

4

3 回答 3

7

这些注释由JAX-RS定义,这是 RESTful Web 服务的标准。

在上面的示例中,这意味着该方法将处理:

  • 获取请求

  • 在路径“/xml/search”上

  • 并将查询参数“query”映射到字符串查询参数,

  • 以及“粒度”到粒度

  • 生成的内容类型将为“text/xml”

(它可能会为此调用一个自定义编组器)

(请参阅此页面以获取参考)

于 2013-01-11T04:53:25.203 回答
0

生产者方法是一种生成可以注入的对象的方法。Link 当你想注入一个本身不是 bean 的对象时 当要注入的对象的具体类型可能在运行时发生变化时 当对象需要一些自定义初始化而 bean 构造函数不执行时

@GET:将由 URI 标识的资源的表示传输给客户端。格式可能是 HTML、纯文本、JPEG 等。请参阅如何传输资源的表示 (@GET)。关联

@Path(param) :@PathParam 是一个参数注释,它允许您将变量 URI 路径片段映射到您的方法调用中。关联

可以使用@QueryParam 注解将 URI 查询参数注入 Java 方法Link

于 2013-01-11T04:58:03.957 回答
0

@Produces 注释是指定资源可以生成并发送回客户端的 MIME 媒体类型。这里的 mediatype 是文本,而不是可以接收 xml,

@GET 是一种 HTTP 方法,例如 @PUT、@POST、@DELETE

@Path 注释的值是一个相对 URI 路径。在这种情况下,函数调用将来自服务是通过路径/xml/search/与参数的函数。

@QueryParam 是从请求 URL 的 Query 组件中提取查询参数,在此接收参数作为来自 URL 的字符串。

文档参考 更多信息

于 2013-01-11T05:03:54.890 回答