Java 关于Jersey中url参数的问题

Java 关于Jersey中url参数的问题,java,rest,jersey,jax-rs,Java,Rest,Jersey,Jax Rs,我很喜欢新泽西。我试图使用GET和一些参数来检索数据。url类似于“”。我这里有两个问题 由于我的查询中有参数searchKeyword,我是否需要使用@Consume注释?如果不是,在哪种情况下应该使用@Consume 要在查询中获取参数,我应该使用@QueryParam或@Context-HttpServletRequest或@Context-Uri,我想在这种情况下,我应该使用@QueryParam。如果是,我应该在什么时候使用另外两个 没有@Consume注释。我猜你的意思是@消耗。该注

我很喜欢新泽西。我试图使用GET和一些参数来检索数据。url类似于“”。我这里有两个问题

  • 由于我的查询中有参数searchKeyword,我是否需要使用
    @Consume
    注释?如果不是,在哪种情况下应该使用
    @Consume
  • 要在查询中获取参数,我应该使用
    @QueryParam
    @Context-HttpServletRequest
    @Context-Uri
    ,我想在这种情况下,我应该使用
    @QueryParam
    。如果是,我应该在什么时候使用另外两个
  • 没有
    @Consume
    注释。我猜你的意思是
    @消耗
    。该注释与查询参数没有任何关系。它用于:

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

  • 是的,您应该使用
    @QueryParam
    。是的,你想要一个查询参数值吗
    @QueryParam
    就是专门为此而构建的。你为什么不使用它

    如果是,我应该在什么时候使用另外两个

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


  • 非常感谢你的回答。我还有一个关于消费的问题。这是否意味着仅当请求具有消息体时才使用Consume,例如,当我使用PUT或POST方法时。谢谢确切地说,GET请求不使用任何内容。它只是带有自定义参数的URL,但参数与URL相关,而不是与HTTP请求中的内容相关。