title: Significance of @Produces, @GET, @Path and @QueryParam before function definition
body: <p>I am new to java. I was looking the below code.</p>
  
  <pre><code>@Produces("text/xml")
  @GET
  @Path("/xml/search")
  public Object searchXML(@QueryParam("query") String query,
          @QueryParam("granularity") String granularity) {
      return search(query, granularity);
  }
  </code></pre>
  
  <p>I couldn't understand the uses of @Produces, @GET, @Path and @QueryParam before function definition in above code.
  Can anybody put some light on this. 
  Thanks</p>