SpringBoot4.12错误:请求映射重定向return “redirect:/bb“;返回的却是字符串而不是网页

代码:


@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
在这里插入图片描述


版权声明:本文为qq_38827988原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。