我试图在网上研究这个特定的问题,但我真的不知道在谷歌上搜索什么。我的问题是:有没有办法自动重定向一个网址到另一个网址。例如:i type http://localhost:8080 它指引你 http://localhost:8080/ 我想知道我能不能做到 http://localhost:8080 重定向到 http://localhost:8080/home
http://localhost:8080
http://localhost:8080/
http://localhost:8080/home
xienkqul1#
使用以下状态 HttpStatus.PERMANENT_REDIRECT 表示此url( / )永久移动并使用 Location 标题以指示新位置( /home ).
HttpStatus.PERMANENT_REDIRECT
/
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!")); } }
希望这能解决你的问题。
20jt8wwn2#
这对我很有用。
@RestController @RequestMapping("") public class TestController { @GetMapping(value = "") public ModelAndView redirect(HttpServletRequest request) { String redirectUrl = request.getRequestURL().toString() + "home"; return new ModelAndView("redirect:" + redirectUrl); } }
wljmcqd83#
public class TestController { @GetMapping(value = "/") public String home() { return "redirect:/home"; } }
你不应该把@responsebody注解放在方法定义中,否则重定向将不起作用。
3条答案
按热度按时间xienkqul1#
使用以下状态
HttpStatus.PERMANENT_REDIRECT
表示此url(/
)永久移动并使用Location
标题以指示新位置(/home
).希望这能解决你的问题。
20jt8wwn2#
这对我很有用。
wljmcqd83#
你不应该把@responsebody注解放在方法定义中,否则重定向将不起作用。