代码:
@RestController
public class ParamTestController {
@GetMapping("/aaa")
public String aaa(){
return "redirect:/bbb";
}
@GetMapping(value = "/bbb")
public String bbb(){
return "网页B";
}
}
原因:使用@RestController导致
@RestController自带@ResponseBody,导致SpringBoot底层选择handle时选择的是-RequestResponseBodyMethodProcessor
RequestResponseBodyMethodProcessor:查看其支持的处理的返回值类型是返回值方法的注解有@ResponseBody的
而经过匹配后得出return的数据要按照text/html类型处理,则最后返回的是字符串
解决:不使用@RestController,使用@Controller即可正常返回网页
底层使用的返回值处理器是:ViewNameMethodReturnValueHandler