-2

这是一个场景。

Case1: (@QueryParam(" username ") String username ) URL: example?username=yourname

Case2: (@QueryParam(" username ") String name ) URL: example?username=yourname

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

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

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

有什么方法可以为 QueryParam 使用 Case2 场景。

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

    @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?username=yourname 输出:Username1 is ==> yourname

/username2?username=yourname 输出:Username2 is ==> null

谢谢

4

1 回答 1

0

是的,您做错了:您QueryParam在 Spring-MVC 应用程序中使用了 JAX-RS 注释。

等效的 Spring 注释是RequestParam. JAX-RS 和 Spring MVC 是两个不同的东西。您不能只在另一个中使用一个注释。

于 2017-04-08T22:52:24.387 回答