最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot項目@RestController使用重定向redirect方式

 更新時間:2021年09月02日 09:07:46   作者:EasonJim  
這篇文章主要介紹了Spring Boot項目@RestController使用重定向redirect方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Spring Boot @RestController重定向redirect

Spring MVC項目中頁面重定向一般使用return "redirect:/other/controller/";即可。而Spring Boot使用了@RestController注解,上述寫法只能返回字符串

解決方法如下

將一個HttpServletResponse參數(shù)添加到處理程序方法然后調(diào)用response.sendRedirect("some-url");

@RestController
public class FooController {
  @RequestMapping("/foo")
  void handleFoo(HttpServletResponse response) throws IOException {
    response.sendRedirect("some-url");
  }
}

@RestController 注釋下的重定向探討

背景

在工作中遇到需要@RestController 內(nèi)部的方法直接進(jìn)行重定向或者轉(zhuǎn)發(fā)

我們知道@RestController注解后,方法默認(rèn)返回json。但是如果返回ModelAndView 則依然按ModelAndView曾經(jīng)的邏輯走

那么springmvc內(nèi)部的邏輯是如何走的呢?

HandlerMethodReturnValueHandlerComposite#selectHandler()
HandlerMethodReturnValueHandlerComposite#handleReturnValue() 
ServletInvocableHandlerMethod#invokeAndHandle()
RequestMappingHandlerAdapter#invokeHandlerMethod()
RequestMappingHandlerAdapter#handleInternal() 
AbstractHandlerMethodAdapter#handle() 
DispatcherServlet#doDispatch()
DispatcherServlet#doService()

自下向上調(diào)用,最終通過依據(jù)返回參數(shù)和MethodParameter(方法參數(shù)的簡述類) 得到使用何種HandlerMethodReturnValueHandler,當(dāng)我們加上@RestController 如果方法返回ModelAndView 或者 View自然返回ModelAndViewMethodReturnValueHandler去處理,因此就解決了需要在@RestController注解下轉(zhuǎn)發(fā)或重定向的問題。

下面是springmvc 默認(rèn)的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} 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JDK生成WebService客戶端代碼以及調(diào)用方式

    JDK生成WebService客戶端代碼以及調(diào)用方式

    WebService 是一種跨編程語言和跨操作系統(tǒng)平臺的遠(yuǎn)程調(diào)用技術(shù),下面這篇文章主要給大家介紹了關(guān)于JDK生成WebService客戶端代碼以及調(diào)用方式的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • Java中FileWriter的用法及wirte()重載方法詳解

    Java中FileWriter的用法及wirte()重載方法詳解

    這篇文章主要介紹了Java中FileWriter的用法及wirte()重載方法詳解,FileWriter是Java編程語言中的一個類,用于將字符寫入文件,它提供了一種簡單而方便的方式來創(chuàng)建、打開和寫入文件,通過使用FileWriter,我們可以將字符數(shù)據(jù)寫入文本文件,需要的朋友可以參考下
    2023-10-10
  • 關(guān)于idea剛打開時瘋狂報錯的問題

    關(guān)于idea剛打開時瘋狂報錯的問題

    這篇文章主要介紹了關(guān)于idea剛打開時瘋狂報錯的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Spring中@Scheduled和HttpClient的連環(huán)坑

    Spring中@Scheduled和HttpClient的連環(huán)坑

    這篇文章主要給大家介紹了關(guān)于Spring中@Scheduled和HttpClient的連環(huán)坑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • mybatis批量新增、刪除、查詢和修改方式

    mybatis批量新增、刪除、查詢和修改方式

    這篇文章主要介紹了mybatis批量新增、刪除、查詢和修改方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 深入解析java中的值傳遞和引用傳遞

    深入解析java中的值傳遞和引用傳遞

    這篇文章主要介紹了深入解析java中的值傳遞和引用傳遞,值傳遞是將變量的值復(fù)制給另一個變量,兩個變量之間并沒有直接關(guān)系,引用傳遞是將變量的引用(內(nèi)存地址)傳遞給另一個變量,兩個變量之間指向同一個內(nèi)存地址,修改一個變量的值也會影響到另一個變量
    2023-07-07
  • Java的Hibernate框架中的組合映射學(xué)習(xí)教程

    Java的Hibernate框架中的組合映射學(xué)習(xí)教程

    組合映射即是指主對象和子對象關(guān)聯(lián)且擁有相同的生命周期的映射關(guān)系,這里我們將舉一些數(shù)據(jù)操作的實例,來講解Java的Hibernate框架中的組合映射學(xué)習(xí)教程
    2016-07-07
  • 一篇文章看懂Java異常處理

    一篇文章看懂Java異常處理

    異常是程序中的一些錯誤,但并不是所有的錯誤都是異常,并且錯誤有時候是可以避免的,這篇文章主要給大家介紹了關(guān)于Java異常處理的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Mybatis 多對一查詢的實現(xiàn)方法

    Mybatis 多對一查詢的實現(xiàn)方法

    這篇文章主要介紹了Mybatis 多對一查詢,本文通過場景分析示例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • Java輕松實現(xiàn)批量插入或刪除Excel行列操作

    Java輕松實現(xiàn)批量插入或刪除Excel行列操作

    在職場生活中,對Excel工作表的行和列進(jìn)行操作是非常普遍的需求,下面小編就來和大家介紹一下如何在Java中完成批量插入、刪除行和列的操作吧
    2023-10-10

最新評論

观塘区| 农安县| 东至县| 阆中市| 广东省| 古蔺县| 南乐县| 禄丰县| 永新县| 苍南县| 修文县| 龙南县| 扶风县| 沐川县| 饶河县| 日土县| 遂宁市| 湖北省| 静宁县| 光山县| 巩义市| 诸暨市| 怀集县| 安陆市| 思南县| 宝清县| 南澳县| 牟定县| 临泉县| 九龙县| 高平市| 乳山市| 鄂伦春自治旗| 栾川县| 阿鲁科尔沁旗| 噶尔县| 桑植县| 赣州市| 洪洞县| 锡林郭勒盟| 栾城县|