国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot 2.6 以上整合 Swagger + Knife4j 報(bào)錯(cuò)

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot 2.6 以上整合 Swagger + Knife4j 報(bào)錯(cuò)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

報(bào)錯(cuò)信息

org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()" because "this.condition" is null
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.21.jar:5.3.21]
	at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.21.jar:5.3.21]
	at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.21.jar:5.3.21]
	at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
	at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.21.jar:5.3.21]
	at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.21.jar:5.3.21]
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.21.jar:5.3.21]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.21.jar:5.3.21]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.1.jar:2.7.1]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) ~[spring-boot-2.7.1.jar:2.7.1]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.1.jar:2.7.1]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.7.1.jar:2.7.1]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.1.jar:2.7.1]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.1.jar:2.7.1]
	at org.algotithmcontestdatacollect.displaybackend.DisplaybackendApplication.main(DisplaybackendApplication.java:9) ~[classes/:?]
Caused by: java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()" because "this.condition" is null
	at springfox.documentation.spring.web.WebMvcPatternsRequestConditionWrapper.getPatterns(WebMvcPatternsRequestConditionWrapper.java:56) ~[springfox-spring-webmvc-2.10.5.jar:null]
	at springfox.documentation.RequestHandler.sortedPaths(RequestHandler.java:112) ~[springfox-core-2.10.5.jar:null]
	at springfox.documentation.spi.service.contexts.Orderings.lambda$byPatternsCondition$3(Orderings.java:89) ~[springfox-spi-2.10.5.jar:null]
	at java.util.Comparator.lambda$comparing$77a9974f$1(Comparator.java:469) ~[?:?]
	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355) ~[?:?]
	at java.util.TimSort.sort(TimSort.java:234) ~[?:?]
	at java.util.Arrays.sort(Arrays.java:1306) ~[?:?]
	at java.util.ArrayList.sort(ArrayList.java:1721) ~[?:?]
	at java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:392) ~[?:?]
	at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[?:?]
	at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[?:?]
	at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[?:?]
	at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[?:?]
	at springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider.requestHandlers(WebMvcRequestHandlerProvider.java:76) ~[springfox-spring-webmvc-2.10.5.jar:null]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?]
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[?:?]
	at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.defaultContextBuilder(AbstractDocumentationPluginsBootstrapper.java:108) ~[springfox-spring-web-2.10.5.jar:null]
	at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.buildContext(AbstractDocumentationPluginsBootstrapper.java:92) ~[springfox-spring-web-2.10.5.jar:null]
	at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.bootstrapDocumentationPlugins(AbstractDocumentationPluginsBootstrapper.java:83) ~[springfox-spring-web-2.10.5.jar:null]
	at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.start(DocumentationPluginsBootstrapper.java:94) ~[springfox-spring-web-2.10.5.jar:null]
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.21.jar:5.3.21]
	... 14 more

Spring Boot 2.6 以上整合 Swagger + Knife4j 報(bào)錯(cuò),日常踩坑,spring boot,后端,java

報(bào)錯(cuò)原因

這個(gè)問題主要出現(xiàn)在 Spring Boot 2.6 及以后,只要是 Spring Boot 2.6 引入的新 PathPatternParser 導(dǎo)致的。

Spring Boot 2.6 以上整合 Swagger + Knife4j 報(bào)錯(cuò),日常踩坑,spring boot,后端,java

解決辦法

兩種解決辦法文章來源地址http://www.zghlxwxcb.cn/news/detail-795791.html

  1. Path匹配策略切換回 ??ant_path_matcher ?
spring.mvc.pathmatch.matching-strategy=ant_path_matcher
  1. 添加下面這個(gè)Bean的定義
@Bean
public WebMvcEndpointHandlerMapping webEndpointServletHandlerMapping(WebEndpointsSupplier webEndpointsSupplier, ServletEndpointsSupplier servletEndpointsSupplier, ControllerEndpointsSupplier controllerEndpointsSupplier, EndpointMediaTypes endpointMediaTypes, CorsEndpointProperties corsProperties, WebEndpointProperties webEndpointProperties, Environment environment) {
  List<ExposableEndpoint<?>> allEndpoints = new ArrayList();
  Collection<ExposableWebEndpoint> webEndpoints = webEndpointsSupplier.getEndpoints();
  allEndpoints.addAll(webEndpoints);
  allEndpoints.addAll(servletEndpointsSupplier.getEndpoints());
  allEndpoints.addAll(controllerEndpointsSupplier.getEndpoints());
  String basePath = webEndpointProperties.getBasePath();
  EndpointMapping endpointMapping = new EndpointMapping(basePath);
  boolean shouldRegisterLinksMapping = this.shouldRegisterLinksMapping(webEndpointProperties, environment, basePath);
  return new WebMvcEndpointHandlerMapping(endpointMapping, webEndpoints, endpointMediaTypes, corsProperties.toCorsConfiguration(), new EndpointLinksResolver(allEndpoints, basePath), shouldRegisterLinksMapping, null);
}

private boolean shouldRegisterLinksMapping(WebEndpointProperties webEndpointProperties, Environment environment, String basePath) {
  return webEndpointProperties.getDiscovery().isEnabled() && (StringUtils.hasText(basePath) || ManagementPortType.get(environment).equals(ManagementPortType.DIFFERENT));
}

到了這里,關(guān)于Spring Boot 2.6 以上整合 Swagger + Knife4j 報(bào)錯(cuò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot3中Swagger整合knife4j和springdoc的配置說明

    ? springboot3開始javax包改成了jakarta,而swagger-oas等包中依然使用的是javax所以報(bào)錯(cuò)。另外springfox已經(jīng)過時(shí)了,兩年沒更新了,并且不支持OpenAPI3 標(biāo)準(zhǔn),而SpringBoot3只支持OpenAPI3規(guī)范,所以要遷移到springdoc Knife4J是一款基于Swagger快速生成API文檔和調(diào)試平臺(tái)的開源工具,它可以輕松地

    2024年02月04日
    瀏覽(33)
  • 【swagger】spring security中 swagger和knife4j集成 無法訪問 返回結(jié)果沒有內(nèi)容

    【swagger】spring security中 swagger和knife4j集成 無法訪問 返回結(jié)果沒有內(nèi)容

    作為一個(gè)強(qiáng)迫癥重度的程序猿 不想多導(dǎo)一個(gè)jar包 本文創(chuàng)作背景是鑒于網(wǎng)上大多數(shù)是舊版本swagger2的教程,且沒有針對(duì)2和3區(qū)別描述,話不多說 直接步入正題。 如果只需要knife4j文檔 導(dǎo)這 一個(gè)包 就夠了 這里以3.0+版本舉例 (對(duì)springboot比較熟悉的同學(xué)應(yīng)該清楚 starter目的就是將其

    2024年02月06日
    瀏覽(20)
  • Spring Cloud Gateway 網(wǎng)關(guān)整合 Knife4j 4.3 實(shí)現(xiàn)微服務(wù)接口文檔聚合

    Spring Cloud Gateway 網(wǎng)關(guān)整合 Knife4j 4.3 實(shí)現(xiàn)微服務(wù)接口文檔聚合

    ?? 作者主頁(yè): 有來技術(shù) ?? 開源項(xiàng)目: youlai-mall ?? vue3-element-admin ?? youlai-boot ?? 倉(cāng)庫(kù)主頁(yè): Gitee ?? Github ?? GitCode ?? 歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 如有錯(cuò)誤敬請(qǐng)糾正! youlai-mall 開源微服務(wù)商城新版本基于 Spring Boot 3 和 Java 17,同時(shí)采用 Knife4j 4.3。與以前版本不同的是

    2024年02月05日
    瀏覽(23)
  • 【SpringBoot】Swagger和knife4j的使用

    【SpringBoot】Swagger和knife4j的使用

    springboot筆記集合: springboot筆記合計(jì) 沒用的廢話理論不多說,會(huì)用就完了 Swagger 是一種開源的API描述語言,就是描述API的, 同時(shí)Swagger還提供了一組工具(也叫Swagger),可以幫助開發(fā)人員自動(dòng)生成API文檔、測(cè)試API并與其他系統(tǒng)集成。 Knife4j是基于Swagge語言延伸的另一組api工具,簡(jiǎn)

    2024年02月10日
    瀏覽(20)
  • knife4j實(shí)現(xiàn)微服務(wù)swagger文檔聚合

    knife4j實(shí)現(xiàn)微服務(wù)swagger文檔聚合

    在項(xiàng)目開發(fā)過程中,接口文檔的使用是在所難免的,但是在微服務(wù)場(chǎng)景下,多個(gè)服務(wù)之間的swagger是分散的,雖然swagger提供了微服務(wù)的聚合方式,配置過于繁瑣,加之swagger本身的功能比較少,而且ui布局也比較蛋痛,此處推薦一款新框架用于增強(qiáng)swagger以及實(shí)現(xiàn)微服務(wù)接口文檔的聚合 kni

    2024年02月13日
    瀏覽(18)
  • 【SpringBoot】SpringBoot引入接口文檔生成工具(Swagger+Knife4j)

    由于目前工作項(xiàng)目寫的接口越來越多了,為了能夠更加方便地優(yōu)化接口,以及整理接口文檔,所以就考慮引入接口文檔生成工具。目前的接口文檔生成工具被提及較多的是Swagger,經(jīng)過了引入嘗試后,Swagger是比較輕松地就被引入了。但是Swagger頁(yè)面屬實(shí)是難以恭維,比較簡(jiǎn)單但

    2024年01月23日
    瀏覽(21)
  • SpringBoot 整合knife4j

    SpringBoot 整合knife4j

    Knife4j是一款基于Swagger 2的在線API文檔框架 添加依賴 創(chuàng)建 Swagger 配置依賴 application.yml配置文件 響應(yīng)參數(shù) tips: http://127.0.0.1:8080/doc.html 這里端口,就是你運(yùn)行項(xiàng)目的端口 springboot 中 knife4j的完整參數(shù)如下: 接口添加作者 添加作者有倆種方式 在方法上使用注解 @ApiOperationSupport

    2024年02月14日
    瀏覽(23)
  • SpringBoot整合Knife4j

    SpringBoot整合Knife4j

    ?作者簡(jiǎn)介:大家好,我是Leo,熱愛Java后端開發(fā)者,一個(gè)想要與大家共同進(jìn)步的男人??????個(gè)人主頁(yè):Leo的博客??當(dāng)前專欄: 循序漸進(jìn)學(xué)SpringBoot ?特色專欄: MySQL學(xué)習(xí) ??本文內(nèi)容:SpringBoot整合Knife4j ??個(gè)人知識(shí)庫(kù): Leo知識(shí)庫(kù),歡迎大家訪問

    2024年04月11日
    瀏覽(28)
  • springBoo3.0集成knife4j4.1.0(swagger3)

    springBoo3.0集成knife4j4.1.0(swagger3)

    溫馨提示: springBoot 版本 3.0+ knife4j 版本 4.1.0 ?添加依賴:knife4j包含了swagger,openapi3中的依賴,所以加這一個(gè)就行。 yml文件中配置: 然后,就可以啟動(dòng)測(cè)試輸入地址http://ip:port/doc.html ?注解的基本使用可以看下這里:swagger3注解和swagger2的區(qū)別 ?這里主要提下請(qǐng)求參數(shù)為文件

    2024年02月05日
    瀏覽(23)
  • 第十三章 SpringBoot整合knife4j

    第十三章 SpringBoot整合knife4j

    ??作者主頁(yè):青花鎖 ??簡(jiǎn)介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者??、Java微服務(wù)架構(gòu)公號(hào)作者?? ??簡(jiǎn)歷模板、學(xué)習(xí)資料、面試題庫(kù)、技術(shù)互助 ??文末獲取聯(lián)系方式 ?? [Java項(xiàng)目實(shí)戰(zhàn)] 介紹Java組件安裝、使用;手寫框架等 [Aws服務(wù)器實(shí)戰(zhàn)] Aws Linux服務(wù)器上操作nginx、git、JDK、Vue等 [Java微服務(wù)

    2024年02月03日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包