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

解決spring boot網(wǎng)關(guān)gateway導(dǎo)致的坑,無(wú)法下載文件問(wèn)題

 更新時(shí)間:2021年07月16日 10:12:40   作者:qq_38239565  
這篇文章主要介紹了解決spring boot網(wǎng)關(guān)gateway導(dǎo)致的坑,無(wú)法下載文件的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

話不多說(shuō),直接上圖

接口返回內(nèi)容,瀏覽器顯示PDF文檔。但是輸入接口地址以后一直提示這個(gè)

核對(duì)接口路徑也是正確的,并且沒(méi)有報(bào)錯(cuò)提示,后面發(fā)現(xiàn)是網(wǎng)關(guān)沒(méi)有配置放行路徑,于是進(jìn)行了補(bǔ)充

所以 以后對(duì)于前端請(qǐng)求統(tǒng)一由網(wǎng)關(guān)進(jìn)行配置處理的,一定要對(duì)于靜態(tài)資源合理配置,或者對(duì)于放行接口要統(tǒng)一補(bǔ)充進(jìn)來(lái)(最后統(tǒng)一一下下接口前綴名稱,這樣就只需要寫一個(gè)了)

下面我再說(shuō)一個(gè)坑:

spring cloud gateway啟動(dòng)報(bào)錯(cuò):org.springframework.cloud.gateway.config.GatewayAutoConfiguration

springcloud 啟動(dòng)一直報(bào)錯(cuò) 詳細(xì)錯(cuò)誤信息

Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.gateway.config.GatewayAutoConfiguration required a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' that could not be found.

Action:

Consider defining a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' in your configuration.

解決辦法

將pom文件中的spring-boot-starter-web 移除

詳細(xì)分析

點(diǎn)進(jìn)去 GatewayAutoConfiguration 這個(gè)類

@Bean
public ModifyRequestBodyGatewayFilterFactory modifyRequestBodyGatewayFilterFactory(ServerCodecConfigurer codecConfigurer) {
    return new ModifyRequestBodyGatewayFilterFactory(codecConfigurer.getReaders());
}

@Bean
public DedupeResponseHeaderGatewayFilterFactory dedupeResponseHeaderGatewayFilterFactory() {
    return new DedupeResponseHeaderGatewayFilterFactory();
}

@Bean
public ModifyResponseBodyGatewayFilterFactory modifyResponseBodyGatewayFilterFactory(ServerCodecConfigurer codecConfigurer, Set<MessageBodyDecoder> bodyDecoders, Set<MessageBodyEncoder> bodyEncoders) {
    return new ModifyResponseBodyGatewayFilterFactory(codecConfigurer.getReaders(), bodyDecoders, bodyEncoders);
}

確實(shí)需要這個(gè)bean

spring cloud gateway server項(xiàng)目是一個(gè)spring boot項(xiàng)目,在啟動(dòng)的時(shí)候會(huì)去加載它的配置,其中有一個(gè)叫做GatewayClassPathWarningAutoConfiguration的配置類 代碼入下

@Configuration(
    proxyBeanMethods = false
)
//在 GatewayAutoConfiguration 執(zhí)行執(zhí)行 
@AutoConfigureBefore({GatewayAutoConfiguration.class})
public class GatewayClassPathWarningAutoConfiguration {
    private static final Log log = LogFactory.getLog(GatewayClassPathWarningAutoConfiguration.class);
    private static final String BORDER = "\n\n**********************************************************\n\n";
    public GatewayClassPathWarningAutoConfiguration() {
    }

    @Configuration(
        proxyBeanMethods = false
    )
    @ConditionalOnMissingClass({"org.springframework.web.reactive.DispatcherHandler"})
    protected static class WebfluxMissingFromClasspathConfiguration {
        public WebfluxMissingFromClasspathConfiguration() {
            GatewayClassPathWarningAutoConfiguration.log.warn("\n\n**********************************************************\n\nSpring Webflux is missing from the classpath, which is required for Spring Cloud Gateway at this time. Please add spring-boot-starter-webflux dependency.\n\n**********************************************************\n\n");
        }
    }

    @Configuration(
        proxyBeanMethods = false
    )
    @ConditionalOnClass(
        name = {"org.springframework.web.servlet.DispatcherServlet"}
    )
    protected static class SpringMvcFoundOnClasspathConfiguration {
        public SpringMvcFoundOnClasspathConfiguration() {
            GatewayClassPathWarningAutoConfiguration.log.warn("\n\n**********************************************************\n\nSpring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time. Please remove spring-boot-starter-web dependency.\n\n**********************************************************\n\n");
        }
    }
}

我們pom中依賴了spring-boot-starter-web 也就是存在

org.springframework.web.servlet.DispatcherServlet

此時(shí)這個(gè) 與Spring Cloud Gateway不兼容

spring cloud gateway是基于webflux的,如果需要web支持的話需要導(dǎo)入spring-boot-starter-webflux取代spring-boot-start-web。

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

相關(guān)文章

  • Spring中@Qualifier注解的用法

    Spring中@Qualifier注解的用法

    但凡有點(diǎn)開發(fā)經(jīng)驗(yàn),多多少少可能都遇到過(guò)@Qualifier注解的使用場(chǎng)景,本文主要介紹了Spring中@Qualifier注解的用法,感興趣的可以了解一下
    2023-11-11
  • java二維碼生成的方法

    java二維碼生成的方法

    這篇文章主要為大家詳細(xì)介紹了java二維碼生成的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 五種JAVA GUI布局管理的方式

    五種JAVA GUI布局管理的方式

    這篇文章主要介紹了JAVA幾種GUI布局管理的相關(guān)知識(shí),文中代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 在eclipse中中文漢字亂碼的解決方案

    在eclipse中中文漢字亂碼的解決方案

    在本篇文章里小編給大家分享的是關(guān)于在eclipse中中文漢字亂碼的解決方案,有需要的朋友們可以學(xué)習(xí)下。
    2019-12-12
  • JPA原生SQL(自定義SQL)分頁(yè)查詢邏輯詳解

    JPA原生SQL(自定義SQL)分頁(yè)查詢邏輯詳解

    這篇文章主要介紹了JPA原生SQL(自定義SQL)分頁(yè)查詢邏輯詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java使用BIO和NIO進(jìn)行文件操作對(duì)比代碼示例

    Java使用BIO和NIO進(jìn)行文件操作對(duì)比代碼示例

    這篇文章主要介紹了Java使用BIO和NIO進(jìn)行文件操作對(duì)比代碼示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 本地編譯打包項(xiàng)目部署到服務(wù)器并且啟動(dòng)方式

    本地編譯打包項(xiàng)目部署到服務(wù)器并且啟動(dòng)方式

    這篇文章主要介紹了本地編譯打包項(xiàng)目部署到服務(wù)器并且啟動(dòng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • java實(shí)現(xiàn)單源最短路徑

    java實(shí)現(xiàn)單源最短路徑

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)單源最短路徑,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • JAVA把結(jié)果保留兩位小數(shù)的3種方法舉例

    JAVA把結(jié)果保留兩位小數(shù)的3種方法舉例

    在寫程序的時(shí)候,有時(shí)候可能需要設(shè)置小數(shù)的位數(shù),所以下面這篇文章主要給大家介紹了關(guān)于JAVA把結(jié)果保留兩位小數(shù)的3種方法,文章通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • 詳解Java中類的加載順序

    詳解Java中類的加載順序

    Java中什么時(shí)候類加載,第一次需要使用類信息時(shí)加載。類加載的原則:延遲加載,能不加載就不加載。下面這篇文章主要介紹了Java中類的加載順序,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01

最新評(píng)論

牟定县| 正宁县| 滨海县| 饶阳县| 外汇| 霞浦县| 皋兰县| 太康县| 台东县| 海兴县| 萨嘎县| 辛集市| 滦平县| 镇坪县| 白玉县| 高碑店市| 独山县| 沈丘县| 泸西县| 商河县| 宜宾县| 晋宁县| 达州市| 巴彦淖尔市| 平邑县| 阆中市| 高陵县| 临湘市| 平凉市| 葫芦岛市| 墨玉县| 宣化县| 临沧市| 清徐县| 建阳市| 攀枝花市| 马山县| 贞丰县| 苍溪县| 偏关县| 贵南县|