从Spring Boot控制器进行URL重定向

15 浏览
0 Comments

从Spring Boot控制器进行URL重定向

在Spring Boot应用程序中,我正在访问一个控制器,当我从控制器返回到浏览器时,我希望它重定向到另一个网站或URL,而不是Spring Boot应用程序模板。

0
0 Comments

Url重定向是在Spring Boot控制器中常见的一种功能。它可以通过多种方式实现。

第一种方式是使用RedirectView。示例代码如下:

@GetMapping("/to-be-redirected")
public RedirectView localRedirect() {
    RedirectView redirectView = new RedirectView();
    redirectView.setUrl("http://www.yahoo.com");
    return redirectView;
}

第二种方式是使用ResponseEntity。示例代码如下:

@GetMapping("/to-be-redirected")
public ResponseEntity redirectToExternalUrl() throws URISyntaxException {
    URI yahoo = new URI("http://www.yahoo.com");
    HttpHeaders httpHeaders = new HttpHeaders();
    httpHeaders.setLocation(yahoo);
    return new ResponseEntity<>(httpHeaders, HttpStatus.SEE_OTHER);
}

第三种方式是使用HttpServletResponse。示例代码如下:

@GetMapping("/")
public void redirectToTwitter(HttpServletResponse httpServletResponse) throws IOException {
    httpServletResponse.sendRedirect("https://twitter.com");
}

第四种方式是使用ModelAndView。示例代码如下:

@GetMapping("/redirect")
public ModelAndView method() {
    return new ModelAndView("redirect:" + projectUrl);
}

以上是四种常见的实现Url重定向的方法。每种方法都有其适用的场景和用法。根据具体需求选择合适的方式来实现Url重定向。

0