有关泽西岛url参数的问题

时间:2014-02-13 23:18:01

标签: java rest jersey jax-rs

我对泽西很新。我正在尝试使用GET和一些参数来检索数据。网址类似于“http://www.example.com/products?searchKeyword=tv”。我在这里有两个问题。

  1. 由于我的查询中有参数searchKeyword,我是否需要使用@Consume注释?如果不是,在这种情况下应该使用@Consume
  2. 要在查询中获取参数,我应该使用@QueryParam还是@Context HttpServletRequest还是@Context Uri,我想在这种情况下,我应该使用@QueryParam。如果是这样,我应该何时使用另外两个?

1 个答案:

答案 0 :(得分:2)

  1. 没有@Consume注释。我猜你的意思是@Consumes。该注释与查询参数无关。它用于content type negotiation

      

    @Consumes注释用于指定资源可以从客户端接受或使用的表示形式的MIME媒体类型。

  2. 是的,您应该使用@QueryParam。它是the simplest thing that could possibly work.你想要一个查询参数值? @QueryParam专门为此而建。你为什么不用它?

      

    如果是这样,我应该何时使用另外两个?

    当您确实需要使用那些更复杂的对象时,请使用@Context HttpServletRequest@Context URI。当然,你可以从中获取查询参数值,但这是一个足够常见的任务,它们为你提供了一个快捷方式。 @QueryParam用于获取查询参数值。 @Context is for getting other things.