Spring控制器方法调用两次

Ung*_*lan 5 java spring spring-mvc

我正在制作Spring MVC网络应用程序。问题是在单一方法上被调用了两次,我不知道为什么。

@RequestMapping(value="/profile/{id}", method = RequestMethod.GET)
public String displayUserProfile( @PathVariable String id) {

    System.out.println("asdasddsasd");

    return "account/userProfile";

}
Run Code Online (Sandbox Code Playgroud)

我从这种方法中评论了很多行,但仍然无法正常工作。还试图返回其他视图..没有好运。

在控制台中(编写了ulr请求):

/demo/account/profile/f91b3a38-6921-41e0-98b7-58dff5cb1152
asdasddsasd
/demo/account/profile/0
asdasddsasd
Run Code Online (Sandbox Code Playgroud)

在第二次调用tihs方法之后,将转到我的观点

任何其他方法都可以。有人知道这是什么问题吗?

*我也从这里读过类似的问题..没有任何帮助

LE:我在评论中也说过。有趣的是,如果我在视图的第二个调用中将模型设置为视图,则我的视图将是第一个调用的模型。(在第二次调用中,ID为0,模型为空)

Mar*_*man 5

我还观察到一个GET请求导致控制器方法执行两次。使用Chrome浏览器请求服务时发生了问题(使用Postman时未发生该问题)。就我而言,罪魁祸首是JSONView Chrome扩展程序。

我通过使用Chrome开发者工具的“网络”标签确定了原因。它显示了两次请求我的GET服务。第二个请求由content.js发起,它是与JSONView捆绑在一起的JavaScript文件。

停用JSONView扩展程序后,通过Chrome发出的GET请求将导致控制器方法仅执行一次。

  • 就我而言,“网络”选项卡仅显示一个 GET 请求,但我仍然在 Spring 端收到两次点击......奇怪。 (2认同)

Ung*_*lan 1

我终于有时间在这里寻找解决方案了。尝试了很多事情,但没有成功。

我用 @RequestParam 替换了 @PathVariable 并且 URL 没有被访问两次:)