Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重定向只是显示链接,而不是将用户带到链接_Java_Spring_Spring Boot - Fatal编程技术网

Java 重定向只是显示链接,而不是将用户带到链接

Java 重定向只是显示链接,而不是将用户带到链接,java,spring,spring-boot,Java,Spring,Spring Boot,以下是我试图重定向的控制器方法: @GetMapping("/opensignup/{id}") public String openSignUp(@PathVariable(value = "id") Long Id) { Tournament comp = tournamentRepository.findOne(Id); boolean b = true; comp.setSignUpOpen(b); return "redirect:/comp/" +

以下是我试图重定向的控制器方法:

@GetMapping("/opensignup/{id}")
public String openSignUp(@PathVariable(value = "id") Long Id) {

    Tournament comp = tournamentRepository.findOne(Id);
    boolean b = true;
    comp.setSignUpOpen(b);

    return "redirect:/comp/" + Id;
}
我有另一种方法(如果相关的话,这是一篇博文),它成功地重定向到正确的页面/控制器,使用相同的行:

   return "redirect:/comp/" + Id;
它只需在浏览器上打印链接,而不是重定向。(它使用正确的id打印)如下所示:

重定向:/comp/5


如何使其重定向而不是打印?

之所以发生这种情况,是因为我的方法顶部有一个@RestController注释,而不是@Controller注释。因为我不需要它是安静的,我改变了它,我的问题就解决了。如果有人想解释为什么会这样做和/或在保留@RestController注释(如果可能)的同时您将如何做,那么请放心。

如注释中所述,您的第二个方法是用
@RestController
注释的。虽然
@Controller
意味着在Spring上下文中返回视图,
@RestController
意味着返回将直接写入响应体的内容(大多数情况下是JSON)

@RestController
基本上是
@Controller
@ResponseBody
注释的组合,第二个将尝试将POJO映射到JSON

进一步阅读:


在第二个调用的方法中,是否有
@ResponseBody
注释?既然您使用浏览器,就可以使用JS来完成。只需捕获响应并像
location.href=link
一样打开它,如果需要,if将在之后发布ansthis@BennettDams没有,但我刚刚意识到在类有@conntroller注释之前它在哪里工作,但在这个类中它有@RestController注释。这可能是原因吗?@Lucia是的,我会尽快回复。@BennettDams结果是@RestController造成的,谢谢。