目录
- Spring Boot @RestController重定向redirect
- @RestController 注释下的重定向探讨
- 背景
- 那么springmvc内部的逻辑是如何走的呢?
- 下面是springmvc 默认的15种HandlerMethodReturnValueHandler
Spring Boot @RestController重定向redirect
Spring MVC项目中页面重定向一般使用return "redirect:/other/controller/";即可。而Spring Boot使用了@RestController注解,上述写法只能返回字符串

解决方法如下
将一个HttpServletResponse参数添加到处理程序方法然后调用response.sendRedirect("some-url");
@RestController
public 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}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关推荐:
ChatGPT怎么打不开了?解决办法,轻松恢复畅通无阻!,ai订酒店ai对话
360AI写作怎样?助力创作的新风尚,ai到访
ChatGPT怎么有梯子?突破网络限制,轻松畅享AI智能,ai对唱音响
WPJam:打破网站管理的壁垒,打造极致用户体验,广东谷歌seo工具
SEO留痕:数字营销的隐性力量,如何通过SEO优化让品牌更具竞争力,铁岭网站关键词建设优化
ZBlog:开启你的个人网站新时代,轻松搭建与管理,二手手机营销推广方案
seo重点是什么,seo最重要的指标 ,ai网格怎么用
在线AI文章生成器开启智能创作新时代
SEO译为:网站排名背后的优化策略,会展中心网站优化
ChatGPT页面空白不乏登录:让你秒变职场高手与生活智囊,百度ai 腾讯ai
乘风SEO:突破困境,领航网络营销新时代,武汉靠谱的关键词排名
AI人工智能:开发与应用的必备软件推荐
ChatGPT打不开网页?看完这篇你就懂了!,国内ai写作安卓软件
seo需要会什么,seo要会些什么 ,ai313414919
专业关键词助力SEO优化,让你的内容脱颖而出,东营响应式网站优化
文章创作AI:引领智能写作的新时代
seo重点工作是什么,seo重点工作是什么意思 ,棋谱检查ai
ChatGPT打不开实时问题解决方案:让你的AI助手始终在线,psd 转ai
GPT-3.5可以免费使用吗?AI未来的无限可能,ai烧猪
亚马逊的seo是什么阿,亚马逊seo项目 ,中考用ai写作会判0分吗
优化入口:提升网站流量与转化率的秘密武器,琼海关键词排名品牌
seo算是什么营销方式,seo是网络营销吗 ,ai318
SEO代做:让你的企业轻松登顶搜索引擎,快速提升曝光率,seo 提高注册量
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
AI人工智能文章生成器写作新纪元
ChatGPT无法打开?这些解决办法让你重新畅享智能对话!,北大写作ai
未来写作新方式原创AI文章的无限可能
AI助手不需要登陆-畅享便捷生活,随时随地高效工作,ai客服 对话
SEO埋词技巧,如何提升网站排名?,贵州营销推广方法
AI助手推进:智能化时代的企业革命,ai改变图片颜色
SEO更多-让你的企业站点在搜索引擎中脱颖而出,如何结交seo大神
SEO基础知识解析:如何提升网站排名,助力企业成长,毕节企业建设网站
SEO费用如何根据预算选择最合适的SEO服务,营销类推广网站
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
ChatGPT恢复正常使用时间,提升你的工作与生活效率,联想电脑AI0510
ChatGPT怎么打不开了?揭秘背后的原因与解决方法,ai中打开ai文件丢失
ChatGPT网页版内容显示不全的原因与解决方案,ai超级绘
AI提供的阅读书目对学生的专业知识有多大帮助,沃奇ai
ChatGPT免费订阅的使用限制:其潜力与挑战,ai辅助线无法对齐画板
SEO建站,开启网站优化的全新篇章!,网络营销推广合作方式
seo涉及什么内容,seo主要包括 ,法医使用ai
为什么越来越多的人选择在知乎发布文章?这里面的机会你可能还没发现!,潍坊关键词排名提升
seo需要什么人才,seo需要做什么工作 ,探索ai照片
seo要什么条件,seo都需要做什么 ,交互ai求职
seo用什么手法,seo方式 ,ai绘画飞翔
SEO好吗?助力网站成功的关键之道,网站优化方案范文怎么写
seo软文有什么作用,seo文案是什么 ,斐乐Ai测评问题
怎样用AI写文章?快速高效创作新技能!
SEO包月服务:助力企业提升网站排名与流量的长期利器,网站建设流程 报读文库
SEO无限:如何利用SEO技术实现网站流量爆发?,网站建设总监