Spring Boot项目@RestController如何使用重定向redirect
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍Spring Boot项目@RestController如何使用重定向redirect,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Spring Boot @R
千家信息网最后更新 2025年11月07日Spring Boot项目@RestController如何使用重定向redirect
这篇文章主要介绍Spring Boot项目@RestController如何使用重定向redirect,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Spring Boot @RestController重定向redirect
Spring MVC项目中页面重定向一般使用return "redirect:/other/controller/";即可。而Spring Boot使用了@RestController注解,上述写法只能返回字符串
解决方法如下
将一个HttpServletResponse参数添加到处理程序方法然后调用response.sendRedirect("some-url");
@RestControllerpublic class FooController { @RequestMapping("/foo") void handleFoo(HttpServletResponse response) throws IOException { response.sendRedirect("some-url"); }}@RestController 注释下的重定向探讨
背景
在工作中遇到需要@RestController 内部的方法直接进行重定向或者转发
我们知道@RestController注解后,方法默认返回json。但是如果返回ModelAndView 则依然按ModelAndView曾经的逻辑走
那么springmvc内部的逻辑是如何走的呢?
HandlerMethodReturnValueHandlerComposite#selectHandler()HandlerMethodReturnValueHandlerComposite#handleReturnValue() ServletInvocableHandlerMethod#invokeAndHandle()RequestMappingHandlerAdapter#invokeHandlerMethod()RequestMappingHandlerAdapter#handleInternal() AbstractHandlerMethodAdapter#handle() DispatcherServlet#doDispatch()DispatcherServlet#doService()
自下向上调用,最终通过依据返回参数和MethodParameter(方法参数的简述类) 得到使用何种HandlerMethodReturnValueHandler,当我们加上@RestController 如果方法返回ModelAndView 或者 View自然返回ModelAndViewMethodReturnValueHandler去处理,因此就解决了需要在@RestController注解下转发或重定向的问题。
下面是springmvc 默认的15种HandlerMethodReturnValueHandler
0 = {ModelAndViewMethodReturnValueHandler@7121} 1 = {ModelMethodProcessor@8372} 2 = {ViewMethodReturnValueHandler@8373} 3 = {ResponseBodyEmitterReturnValueHandler@8374} 4 = {StreamingResponseBodyReturnValueHandler@7125} 5 = {HttpEntityMethodProcessor@8375} 6 = {HttpHeadersReturnValueHandler@8376} 7 = {CallableMethodReturnValueHandler@8377} 8 = {DeferredResultMethodReturnValueHandler@8378} 9 = {AsyncTaskMethodReturnValueHandler@8379} 10 = {ModelAttributeMethodProcessor@8380} 11 = {RequestResponseBodyMethodProcessor@7132} 12 = {ViewNameMethodReturnValueHandler@8381} 13 = {MapMethodProcessor@8382} 14 = {ModelAttributeMethodProcessor@8383}以上是"Spring Boot项目@RestController如何使用重定向redirect"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
方法
项目
参数
注解
内容
篇文章
逻辑
处理
价值
兴趣
写法
字符
字符串
小伙
小伙伴
更多
注释
知识
程序
背景
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
redis列数据库
本地校友数据库系统
个人网络安全保护
查看股票的数据库线
趣播app的直播服务器
qq连接服务器超时是怎么回事
电信数据库要学什么
基本草原数据库哪里下发
40学软件开发技术
未来教育网络技术三级
网络安全情景说
无锡电子网络技术费用是多少
分宜租房软件开发
网络安全一起争做中国好网民
贵阳网络安全系统费用多少
上海常见网络技术方法
数据库当前正在使用
主题班会网络安全开头语
新华三有自己研发的服务器吗
软件开发工程招聘
地图数据的采集和地图数据库
软件开发标准文档的书写
lol服务器市场
企业网络安全培训材料
台州财务软件开发哪家强
win2003 服务器
上海晓花互联网科技有限公司
湖南企畅网络技术有限公司招聘
数据库中默认为当前时间
网络安全课是什么