在泽西岛查询参数

时间:2016-04-25 23:01:05

标签: java jersey

我对查询参数有疑问.. 那个参数的想法是什么.. 在下面的情况下,我需要查询参数?

@GET
@Produces("text/plain")
public String sayHello(@QueryParam("name") String name) {
    if (name != null) {
        // if the query parameter "name" is there
        return "Hello " + name + "!";
    }
    return "Hello World!";
}     

2 个答案:

答案 0 :(得分:6)

当您拥有定义为:

的服务时,将使用@PathParam
@POST
@Path("/update/{userCode}")
public Response update(@PathParam( "userCode" ) String userCode)

在此示例中,URL类似于http://hostname.tld/update/1234,其中“1234”将从URL的路径部分解析出来。

@QueryParam是指您的网址包含正常网址参数,例如@Partha建议:

@POST
@Path("/update")
public Response update(@QueryParam( "userCode" ) String userCode)

这里的网址看起来像http://hostname.tld/update?userCode=1234

您使用哪一种取决于您喜欢的风格。 REST爱好者会告诉你,你永远不应该使用QueryParam版本。我更灵活一点 - QueryParam版本的优点是你不会被锁定在一个订单中,只是名字。

但最终由您决定对您的应用程序更有意义。

答案 1 :(得分:0)

因此,如果您的REST网址为http://somecompany.com/api/user?name=Maks,您可以在此处理该信息,并在您编写的方法中使用该名称。