这是我尝试重定向的 Controller 方法:
@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;
}
我有另一种方法(这是一篇文章,如果相关的话),它可以使用同一行成功重定向到正确的页面/ Controller :
return "redirect:/comp/" + Id;
它只是在浏览器上打印该链接,而不是重定向。 (它使用正确的 ID 打印它。)像这样:
重定向:/comp/5
如何让它重定向而不是打印?
最佳答案
正如评论中所述,您的第二个方法用 @RestController
进行注释。 @Controller
旨在返回 Spring 上下文中的 View ,而 @RestController
旨在返回将直接写入响应正文的内容(大多数情况下为 JSON)。
@RestController
基本上是 @Controller
AND @ResponseBody
注释的组合,其中第二个将尝试将 POJO 映射到 JSON。
进一步阅读:
https://www.genuitec.com/spring-frameworkrestcontroller-vs-controller/
Difference between spring @Controller and @RestController annotation
关于java - 重定向仅显示链接而不是引导用户链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50006362/