2013-01-11 21 views
5

我是java的新手。我正在看下面的代码。函数定义之前@Produces,@GET,@Path和@QueryParam的含义

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

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

回答

5

这些缺省值由JAX-RS定义,RESTful Web服务标准。

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

  • GET请求

  • 在路径 “/ XML /搜索”

  • 并映射查询参数“查询“字符串查询参数,

  • 以及”粒度“到粒度

  • 得到的内容类型将是 “text/xml” 的

(和它可能会调用这个自定义编组)

(见this page为参考)

+0

感谢aldrinleal – piku

0

生产者方法是生成可以被注入的对象的方法。 Link 如果要注入本身不是一个bean 当混凝土类型注入可能在运行时 改变对象当对象要求的bean构造函数不执行

一些定制的初始化对象@ GET:将由URI标识的资源表示传送给客户端。格式可能是HTML,纯文本,JPEG等等。请参阅如何传输资源表示(@GET)。 Link

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

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

0

@Produces注释指定MIME媒体类型表示的资源可以产生和发送回client.here介质类型是文本,而XML可以收到,

@ GET是HTTP方法,如@PUT,@POST,@DELETE

@Path注释的值是一个相对的URI路径。在这个函数调用将从服务通过路径为/xml/search/来与params功能。

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

Document Referencemore info