我对泽西很新。我正在尝试使用GET和一些参数来检索数据。网址类似于“http://www.example.com/products?searchKeyword=tv”。我在这里有两个问题。
@Consume
注释?如果不是,在这种情况下应该使用@Consume
?@QueryParam
还是@Context HttpServletRequest
还是@Context Uri
,我想在这种情况下,我应该使用@QueryParam
。如果是这样,我应该何时使用另外两个? 答案 0 :(得分:2)
没有@Consume
注释。我猜你的意思是@Consumes
。该注释与查询参数无关。它用于content type negotiation:
@Consumes
注释用于指定资源可以从客户端接受或使用的表示形式的MIME媒体类型。
是的,您应该使用@QueryParam
。它是the simplest thing that could possibly work.你想要一个查询参数值? @QueryParam
专门为此而建。你为什么不用它?
如果是这样,我应该何时使用另外两个?
当您确实需要使用那些更复杂的对象时,请使用@Context HttpServletRequest
和@Context URI
。当然,你可以从中获取查询参数值,但这是一个足够常见的任务,它们为你提供了一个快捷方式。 @QueryParam
用于获取查询参数值。 @Context
is for getting other things.