在java中的queryparam注释中字符串和变量名称可以不同吗?

时间:2017-04-08 21:01:39

标签: java rest jax-rs queryparam

这是一个场景。

案例1:(@ QueryParam(“用户名”)字符串用户名)        网址:示例?username = yourname

案例2:(@ QueryParam(“用户名”)字符串名称)        网址:示例?username = yourname

在这两种情况下,这是使用QueryParam的正确方法。

当我使用Case1时,它可以正常工作,打印你的名字。但是当我使用Case2时,会打印出null。

我想实施案例2,因为遵循一些编码标准。意味着我不想更改变量名称(即“String name”)。但在URL中我必须使用“用户名”。

是否有任何方法可以为QueryParam使用Case2场景。

添加代码(第1次编辑) 这是我复制了我面临的问题的代码

    @RequestMapping (value = "/username1", method = RequestMethod.GET)
@ResponseBody
public Response username1(@QueryParam("username") String username) {
        System.out.println("Username1 is ==> " + username);
        return Response.ok(username).build();
}

@RequestMapping (value = "/username2", method = RequestMethod.GET)
@ResponseBody
public Response username2(@QueryParam("username") String name) {
        System.out.println("Username2 is ==> " + name);
        return Response.ok(name).build();
}

/ USERNAME1?用户名=提供yourname 输出:用户名1是==>提供yourname

/ USERNAME2?用户名=提供yourname 输出:用户名2是==>空

谢谢

1 个答案:

答案 0 :(得分:0)

是的,你做错了什么:你在Spring-MVC应用程序中使用QueryParam,这是一个JAX-RS注释。

等效的Spring注释是RequestParam。 JAX-RS和Spring MVC是两回事。你不能只使用另一个的注释。