这是一个场景。
案例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是==>空
谢谢
答案 0 :(得分:0)
是的,你做错了什么:你在Spring-MVC应用程序中使用QueryParam
,这是一个JAX-RS注释。
等效的Spring注释是RequestParam
。 JAX-RS和Spring MVC是两回事。你不能只使用另一个的注释。