Spring boot Spring引导重定向到另一个url

Spring boot Spring引导重定向到另一个url,spring-boot,redirect,controller,Spring Boot,Redirect,Controller,在我的SpringBoot项目中,我想从http://localhost:8080 到http://localhost:8080/birdspotting. 这是家庭控制器的代码: @RestController public class HomeController { @GetMapping("/") public String showHomePage() { return "redirect:/birdspotting&qu

在我的SpringBoot项目中,我想从http://localhost:8080 到http://localhost:8080/birdspotting. 这是家庭控制器的代码:

@RestController
public class HomeController {

    @GetMapping("/")
    public String showHomePage() {
        return "redirect:/birdspotting";
    }
}


上大学的结果http://localhost:8080 是重定向的打印:/birdspotting

您必须创建另一个端点,如:

@GetMapping(“/”)
公共字符串showHomePage(){
返回“重定向:/birdspotting”;
}
@GetMapping(“/birdspotting”)
公共字符串birdspottingPage(){
返回“鸟笼”;
}

希望您的模板中有
birdspotting.html

基本上是RestController=Controller+RequestBody

这将发送json响应,但我们希望视图解析器返回页面或重定向url

因此,请使用@Controller而不是@RestController来解决此问题

更新:


如果你想在同一个控制器中同时使用这两种方法,那么在类级别上使用@controller,然后在任何你想返回API调用响应的地方,在方法上放置@ResponseBody,在任何你想返回web浏览器页面的地方,都不要放置@ResponseBody。

使用
@controller
而不是
@RestController
。太好了!这对我有用,谢谢!如果两样都要我怎么办?我的意思是,在API调用的情况下有一个答案,在web浏览的情况下有一个重定向?更新了答案…让我知道进一步的澄清。太好了!谢谢