2013-01-11 53 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