spring启动urlMap

yftpprvb  于 2021-06-29  发布在  Java
关注(0)|答案(3)|浏览(234)

我试图在网上研究这个特定的问题,但我真的不知道在谷歌上搜索什么。我的问题是:有没有办法自动重定向一个网址到另一个网址。例如:i type http://localhost:8080 它指引你 http://localhost:8080/ 我想知道我能不能做到 http://localhost:8080 重定向到 http://localhost:8080/home

xienkqul

xienkqul1#

使用以下状态 HttpStatus.PERMANENT_REDIRECT 表示此url( / )永久移动并使用 Location 标题以指示新位置( /home ).

public class GreetingController {
    @GetMapping("/")
    public ResponseEntity<Map<String, String>> sayHello1() {
        return ResponseEntity.status(HttpStatus.PERMANENT_REDIRECT)
         .header("Location", "/home").build();
    }

    @GetMapping("/home")
    public ResponseEntity<Map<String, String>> sayHello() {
        return ResponseEntity.ok()
         .body(Collections.singletonMap("message", "Hello world!"));
    }    
}

希望这能解决你的问题。

20jt8wwn

20jt8wwn2#

这对我很有用。

@RestController
@RequestMapping("")
public class TestController {

    @GetMapping(value = "")
    public ModelAndView redirect(HttpServletRequest request) {
        String redirectUrl = request.getRequestURL().toString() + "home";
        return new ModelAndView("redirect:" + redirectUrl);
    }
}
wljmcqd8

wljmcqd83#

public class TestController {
  @GetMapping(value = "/")
  public String home() {
     return "redirect:/home";
  }
}

你不应该把@responsebody注解放在方法定义中,否则重定向将不起作用。

相关问题