Gal*_*let 4 java spring spring-mvc spring-data springfox
我正在为我的应用程序使用 spring 数据休息。
当我在存储库中添加此方法时,出现以下错误并且应用程序无法启动:-
方法:-
@Modifying
@Transactional
@Query("from employee as ft where ft.company.id = ?1")
void deleteAllEmployeeCompany(
@Param("companyId") @RequestParam("companyId") int companyId);
Run Code Online (Sandbox Code Playgroud)
错误:-
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:176) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:51) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:346) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:149) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:112) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:874) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:144) ~[spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
更新:-
所有依赖项的列表:-
[INFO] com.test:test-service:jar:0.0.1-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:1.4.1.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:1.4.1.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:1.4.1.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.4.1.RELEASE:compile
[INFO] | | \- org.springframework.boot:spring-boot-starter-logging:jar:1.4.1.RELEASE:compile
[INFO] | | +- ch.qos.logback:logback-classic:jar:1.1.7:compile
[INFO] | | | \- ch.qos.logback:logback-core:jar:1.1.7:compile
[INFO] | | +- org.slf4j:jul-to-slf4j:jar:1.7.21:compile
[INFO] | | \- org.slf4j:log4j-over-slf4j:jar:1.7.21:compile
[INFO] | \- org.springframework.boot:spring-boot-actuator:jar:1.4.1.RELEASE:compile
[INFO] | \- org.springframework:spring-context:jar:4.3.3.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.1.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-aop:jar:1.4.1.RELEASE:compile
[INFO] | | \- org.springframework:spring-aop:jar:4.3.3.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.4.1.RELEASE:compile
[INFO] | | +- org.apache.tomcat:tomcat-jdbc:jar:8.5.5:compile
[INFO] | | | \- org.apache.tomcat:tomcat-juli:jar:8.5.5:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:4.3.3.RELEASE:compile
[INFO] | +- org.hibernate:hibernate-core:jar:5.0.11.Final:compile
[INFO] | | +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
[INFO] | | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] | | +- antlr:antlr:jar:2.7.7:compile
[INFO] | | +- org.jboss:jandex:jar:2.0.0.Final:compile
[INFO] | | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | | | \- xml-apis:xml-apis:jar:1.4.01:compile
[INFO] | | \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
[INFO] | +- org.hibernate:hibernate-entitymanager:jar:5.0.11.Final:compile
[INFO] | +- javax.transaction:javax.transaction-api:jar:1.2:compile
[INFO] | +- org.springframework.data:spring-data-jpa:jar:1.10.3.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-commons:jar:1.12.3.RELEASE:compile
[INFO] | | +- org.springframework:spring-orm:jar:4.3.3.RELEASE:compile
[INFO] | | +- org.springframework:spring-tx:jar:4.3.3.RELEASE:compile
[INFO] | | +- org.springframework:spring-beans:jar:4.3.3.RELEASE:compile
[INFO] | | \- org.slf4j:jcl-over-slf4j:jar:1.7.21:compile
[INFO] | \- org.springframework:spring-aspects:jar:4.3.3.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-data-rest:jar:1.4.1.RELEASE:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.3:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.8.3:compile
[INFO] | | \- com.fasterxml.jackson.core:jackson-core:jar:2.8.3:compile
[INFO] | \- org.springframework.data:spring-data-rest-webmvc:jar:2.5.3.RELEASE:compile
[INFO] | \- org.springframework.data:spring-data-rest-core:jar:2.5.3.RELEASE:compile
[INFO] | \- org.atteo:evo-inflector:jar:1.2.1:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.4.1.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.4.1.RELEASE:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.5:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.5:compile
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.5:compile
[INFO] | +- org.hibernate:hibernate-validator:jar:5.2.4.Final:compile
[INFO] | | \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] | +- org.springframework:spring-web:jar:4.3.3.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:4.3.3.RELEASE:compile
[INFO] | \- org.springframework:spring-expression:jar:4.3.3.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-starter-eureka:jar:1.1.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-starter:jar:1.1.0.RELEASE:compile
[INFO] | | +- org.springframework.cloud:spring-cloud-context:jar:1.1.0.RELEASE:compile
[INFO] | | | \- org.springframework.security:spring-security-crypto:jar:4.1.3.RELEASE:compile
[INFO] | | +- org.springframework.cloud:spring-cloud-commons:jar:1.1.0.RELEASE:compile
[INFO] | | \- org.springframework.security:spring-security-rsa:jar:1.0.1.RELEASE:compile
[INFO] | | \- org.bouncycastle:bcpkix-jdk15on:jar:1.47:compile
[INFO] | | \- org.bouncycastle:bcprov-jdk15on:jar:1.47:compile
[INFO] | +- org.springframework.cloud:spring-cloud-netflix-core:jar:1.1.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-netflix-eureka-client:jar:1.1.0.RELEASE:compile
[INFO] | +- com.netflix.eureka:eureka-client:jar:1.4.6:compile
[INFO] | | +- org.codehaus.jettison:jettison:jar:1.3.7:runtime
[INFO] | | | \- stax:stax-api:jar:1.0.1:runtime
[INFO] | | +- com.netflix.netflix-commons:netflix-eventbus:jar:0.3.0:runtime
[INFO] | | +- com.netflix.archaius:archaius-core:jar:0.7.4:compile
[INFO] | | +- javax.ws.rs:jsr311-api:jar:1.1.1:runtime
[INFO] | | +- com.netflix.servo:servo-core:jar:0.10.1:runtime
[INFO] | | | \- com.netflix.servo:servo-internal:jar:0.10.1:runtime
[INFO] | | +- com.sun.jersey:jersey-core:jar:1.19.1:runtime
[INFO] | | +- com.sun.jersey:jersey-client:jar:1.19.1:runtime
[INFO] | | +- com.sun.jersey.contribs:jersey-apache-client4:jar:1.19.1:runtime
[INFO] | | +- org.apache.httpcomponents:httpclient:jar:4.5.2:compile
[INFO] | | | +- org.apache.httpcomponents:httpcore:jar:4.4.5:compile
[INFO] | | | \- commons-codec:commons-codec:jar:1.10:compile
[INFO] | | +- com.google.inject:guice:jar:4.0:runtime
[INFO] | | | +- javax.inject:javax.inject:jar:1:runtime
[INFO] | | | \- aopalliance:aopalliance:jar:1.0:runtime
[INFO] | | \- com.netflix.governator:governator-api:jar:1.12.10:runtime
[INFO] | +- com.netflix.eureka:eureka-core:jar:1.4.6:compile
[INFO] | | +- com.amazonaws:aws-java-sdk-core:jar:1.10.30:runtime
[INFO] | | +- com.amazonaws:aws-java-sdk-ec2:jar:1.10.30:runtime
[INFO] | | +- com.amazonaws:aws-java-sdk-autoscaling:jar:1.9.3:runtime
[INFO] | | +- com.amazonaws:aws-java-sdk-sts:jar:1.9.3:runtime
[INFO] | | +- com.amazonaws:aws-java-sdk-route53:jar:1.9.3:runtime
[INFO] | | +- com.netflix.governator:governator:jar:1.12.10:runtime
[INFO] | | | +- com.netflix.governator:governator-core:jar:1.12.10:runtime
[INFO] | | | \- org.ow2.asm:asm:jar:5.0.4:compile
[INFO] | | \- org.codehaus.woodstox:woodstox-core-asl:jar:4.4.1:runtime
[INFO] | | +- javax.xml.stream:stax-api:jar:1.0-2:runtime
[INFO] | | \- org.codehaus.woodstox:stax2-api:jar:3.1.4:runtime
[INFO] | +- org.springframework.cloud:spring-cloud-starter-archaius:jar:1.1.0.RELEASE:compile
[INFO] | | \- commons-configuration:commons-configuration:jar:1.8:compile
[INFO] | | +- commons-lang:commons-lang:jar:2.6:compile
[INFO] | | \- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] | +- org.springframework.cloud:spring-cloud-starter-ribbon:jar:1.1.0.RELEASE:compile
[INFO] | | +- com.netflix.ribbon:ribbon:jar:2.1.5:compile
[INFO] | | | +- com.netflix.ribbon:ribbon-transport:jar:2.1.5:runtime
[INFO] | | | | +- io.reactivex:rxnetty-contexts:jar:0.4.9:runtime
[INFO] | | | | \- io.reactivex:rxnetty-servo:jar:0.4.9:runtime
[INFO] | | | \- io.reactivex:rxnetty:jar:0.4.9:runtime
[INFO] | | | +- io.netty:netty-codec-http:jar:4.0.27.Final:runtime
[INFO] | | | | +- io.netty:netty-codec:jar:4.0.27.Final:runtime
[INFO] | | | | \- io.netty:netty-handler:jar:4.0.27.Final:runtime
[INFO] | | | \- io.netty:netty-transport-native-epoll:jar:4.0.27.Final:runtime
[INFO] | | | +- io.netty:netty-common:jar:4.0.27.Final:runtime
[INFO] | | | +- io.netty:netty-buffer:jar:4.0.27.Final:runtime
[INFO] | | | \- io.netty:netty-transport:jar:4.0.27.Final:runtime
[INFO] | | +- com.netflix.ribbon:ribbon-core:jar:2.1.5:compile
[INFO] | | +- com.netflix.ribbon:ribbon-httpclient:jar:2.1.5:compile
[INFO] | | | \- com.netflix.netflix-commons:netflix-commons-util:jar:0.1.1:runtime
[INFO] | | +- com.netflix.ribbon:ribbon-loadbalancer:jar:2.1.5:compile
[INFO] | | | \- com.netflix.netflix-commons:netflix-statistics:jar:0.1.1:runtime
[INFO] | | \- io.reactivex:rxjava:jar:1.1.5:compile
[INFO] | +- com.netflix.ribbon:ribbon-eureka:jar:2.1.5:compile
[INFO] | \- com.thoughtworks.xstream:xstream:jar:1.4.2:compile
[INFO] | +- xmlpull:xmlpull:jar:1.1.3.1:compile
[INFO] | \- xpp3:xpp3_min:jar:1.1.4c:compile
[INFO] +- org.springframework.boot:spring-boot-starter-amqp:jar:1.4.1.RELEASE:compile
[INFO] | +- org.springframework:spring-messaging:jar:4.3.3.RELEASE:compile
[INFO] | \- org.springframework.amqp:spring-rabbit:jar:1.6.2.RELEASE:compile
[INFO] | +- com.rabbitmq:amqp-client:jar:3.6.3:compile
[INFO] | +- org.springframework.retry:spring-retry:jar:1.1.4.RELEASE:compile
[INFO] | +- com.rabbitmq:http-client:jar:1.0.0.RELEASE:compile
[INFO] | \- org.springframework.amqp:spring-amqp:jar:1.6.2.RELEASE:compile
[INFO] +- com.netflix.hystrix:hystrix-javanica:jar:1.3.16:compile
[INFO] | +- commons-collections:commons-collections:jar:3.2.2:compile
[INFO] | +- org.aspectj:aspectjweaver:jar:1.8.9:compile
[INFO] | +- com.google.guava:guava:jar:18.0:compile
[INFO] | +- com.netflix.hystrix:hystrix-core:jar:1.5.2:compile
[INFO] | | \- org.hdrhistogram:HdrHistogram:jar:2.1.7:compile
[INFO] | \- org.apache.commons:commons-lang3:jar:3.1:compile
[INFO] +- com.netflix.hystrix:hystrix-metrics-event-stream:jar:1.3.16:compile
[INFO] | \- org.codehaus.jackson:jackson-core-asl:jar:1.9.2:compile
[INFO] +- io.springfox:springfox-swagger2:jar:2.6.0:compile
[INFO] | +- io.swagger:swagger-annotations:jar:1.5.10:compile
[INFO] | +- io.swagger:swagger-models:jar:1.5.10:compile
[INFO] | +- io.springfox:springfox-spi:jar:2.6.0:compile
[INFO] | | \- io.springfox:springfox-core:jar:2.6.0:compile
[INFO] | +- io.springfox:springfox-schema:jar:2.6.0:compile
[INFO] | +- io.springfox:springfox-swagger-common:jar:2.6.0:compile
[INFO] | +- io.springfox:springfox-spring-web:jar:2.6.0:compile
[INFO] | +- com.fasterxml:classmate:jar:1.3.1:compile
[INFO] | +- org.slf4j:slf4j-api:jar:1.7.21:compile
[INFO] | +- org.springframework.plugin:spring-plugin-core:jar:1.2.0.RELEASE:compile
[INFO] | +- org.springframework.plugin:spring-plugin-metadata:jar:1.2.0.RELEASE:compile
[INFO] | \- org.mapstruct:mapstruct:jar:1.0.0.Final:compile
[INFO] +- io.springfox:springfox-swagger-ui:jar:2.6.0:compile
[INFO] +- io.springfox:springfox-data-rest:jar:2.6.0:compile
[INFO] | \- org.springframework.hateoas:spring-hateoas:jar:0.20.0.RELEASE:compile
[INFO] +- org.liquibase:liquibase-core:jar:3.5.1:compile
[INFO] | \- org.yaml:snakeyaml:jar:1.17:compile
[INFO] +- mysql:mysql-connector-java:jar:5.1.34:runtime
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:1.4.1.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:1.4.1.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:1.4.1.RELEASE:test
[INFO] | +- junit:junit:jar:4.12:test
[INFO] | +- org.assertj:assertj-core:jar:2.5.0:test
[INFO] | +- org.mockito:mockito-core:jar:1.10.19:test
[INFO] | | \- org.objenesis:objenesis:jar:2.1:test
[INFO] | +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] | +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO] | +- org.skyscreamer:jsonassert:jar:1.3.0:test
[INFO] | | \- org.json:json:jar:20140107:test
[INFO] | +- org.springframework:spring-core:jar:4.3.3.RELEASE:compile
[INFO] | \- org.springframework:spring-test:jar:4.3.3.RELEASE:test
[INFO] +- com.jayway.jsonpath:json-path:jar:2.2.0:compile
[INFO] | \- net.minidev:json-smart:jar:2.2.1:compile
[INFO] | \- net.minidev:accessors-smart:jar:1.1:compile
[INFO] \- org.reflections:reflections:jar:0.9.10:compile
[INFO] +- org.javassist:javassist:jar:3.20.0-GA:compile
[INFO] \- com.google.code.findbugs:annotations:jar:2.0.1:compile
Run Code Online (Sandbox Code Playgroud)
San*_*nth 228
我使用 springfox-swagger2 和 springfox-swagger-ui 版本(3.0.0)、spring-boot 版本(2.6.2)遇到了同样的问题
解决这个问题的方法是在应用程序中添加pathmatcher。属性或 application.yml
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
Run Code Online (Sandbox Code Playgroud)
Mic*_*mal 69
此问题是由于Spring MVCSpring Fox 3.0.0不支持新的基于 PathPattern 的路径匹配策略引起的,该策略现在是.spring-boot 2.6.0
实际上有一些解决此问题的方法,例如:
spring-boot回低于 2.6.0 的版本。我不建议这样做,因为旧版本的 spring boot / spring 框架存在重大安全问题(例如 log4shell 或 CVE-2022-22965)。SpringFox已经有一年左右没有更新了,所以我更愿意从项目中完全删除它,并用维护的springdoc-openapi库替换它。文档中有一个springdoc关于迁移的部分SpringFox,实际上执行起来非常简单。并且您将完全摆脱 SpringFox 引起的问题。moh*_*ian 29
我发现 spring 默认使用 mvcmatchers 这与 swagger 冲突,因为它使用 antmatchers 所以我们可以通过以下方式解决这个问题
更改 spring 以使用 antmatchers 并在 application.properties 中进行配置
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
Run Code Online (Sandbox Code Playgroud)
在 spring 中启用 mvcmatchers 创建一个配置文件供 swagger 使用
@EnableWebMvc
@EnableSwagger2
@Component
public class SwaggersConfigs {
}
Run Code Online (Sandbox Code Playgroud)
在所有 Spring 应用程序中启用 mvcmatchers,将 @EnableWebMvc 注释放在 Spring Boot 应用程序的主类之上,如下所示
@EnableWebMvc
@EnableSwagger2
@SpringBootApplication
public class SwaggerDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SwaggerDemoApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
使用其他评论中提到的旧版本
Aff*_*lem 24
我使用springfox-swagger2和springfox-swagger-ui遇到了同样的问题 将 Spring Boot 版本从2.6.0 切换到2.5.2解决了我的问题。
我知道回滚到旧版本并不是解决问题的最佳方法,但目前对我有帮助。
Kon*_*oah 12
这有效 Springboot 版本 2.6.0 及更高版本不支持 swagger 2 删除 springfox 和 swagger 2 依赖项。添加 springdoc-openapi-ui 依赖项。
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.6</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
将其添加到您的 application.properties 文件中
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
之后导航到 http://localhost:8080/swagger-ui/index.html
这对我有用
小智 11
错误原因是 swagger 和 spring-boot 版本不匹配
删除所有其他依赖项,并仅包含以下一个用于 swagger
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
添加以下配置:
对于应用程序属性
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
Run Code Online (Sandbox Code Playgroud)
对于应用程序.yml
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
Run Code Online (Sandbox Code Playgroud)
小智 10
此解决方案解决了该问题以及以下属性
spring.mvc.pathmatch.matching-strategy=ant_path_matcher
我正在使用 Spring Boot 2.6.6
除了设置matching-strategy属性之外,正如其他答案所提到的,我还必须添加以下 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));
}
Run Code Online (Sandbox Code Playgroud)
解决方案在这里找到。
对于Spring-Boot 2.6.0和SpringFox 3.0.0,问题是pathmatcher,您可以使用以下属性设置pathmach,此问题将得到解决
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
Run Code Online (Sandbox Code Playgroud)
只需将此配置添加到您的 application.properties
\nspring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER\nRun Code Online (Sandbox Code Playgroud)\n或者如果您使用 yaml 文件 application.yml
\nspring:\nmvc:\n pathmatch:\n matching-strategy: ant_path_matcher\nRun Code Online (Sandbox Code Playgroud)\n然后运行您的应用程序。
\n您需要编辑一部分,即基础包名称。如屏幕截图所示,我的基础包名称。\n我的包名称
\n@Configuration\n@EnableSwagger2\npublic class SwaggerConfig2 {\n @Bean\n public Docket docket() {\n return new Docket(DocumentationType.SWAGGER_2)\n .enable(true)\n .apiInfo(new ApiInfoBuilder()\n .title("Swagger Super")\n .description("Swagger Description details")\n .version("1.0").build())\n .select()\n .apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))\n .paths(PathSelectors.any()).build();\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n或者
\n@Configuration\n@EnableSwagger2\npublic class SwaggerConfig2 {\n @Bean\n public Docket docket() {\n return new Docket(DocumentationType.SWAGGER_2)\n .enable(true)\n .apiInfo(new ApiInfoBuilder()\n .title("Swagger Super")\n .description("Swagger Description details")\n .version("1.0").build())\n .select()\n .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))\n .paths(PathSelectors.any()).build();\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n以及 Swagger 依赖项
\n <dependency>\n <groupId>io.springfox</groupId>\n <artifactId>springfox-swagger2</artifactId>\n <version>2.6.1</version>\n <scope>compile</scope>\n </dependency>\n <dependency>\n <groupId>io.springfox</groupId>\n <artifactId>springfox-swagger-ui</artifactId>\n <version>2.6.1</version>\n <scope>compile</scope>\n </dependency>\nRun Code Online (Sandbox Code Playgroud)\n工作正常
\n另外,您还可以单独定义
\n@Configuration\n@EnableSwagger2\npublic class Swagger2UiConfiguration {\n @Bean\n public Docket api() {\n return (new Docket(DocumentationType.SWAGGER_2)).apiInfo(this.apiInfo()).select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).paths(PathSelectors.any()).build();\n }\n\n private ApiInfo apiInfo() {\n return (new ApiInfoBuilder()).title("Swagger API").version("1.0").description("Swagger is Awesome").build();\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n注意: SNAPSHOT、M1、M2、M3 和 M4 版本通常正在进行中。Spring 团队仍在研究它们,建议不要使用它们。
\n注意:如果想为新版本spring-boot 3实现 springdoc-openAPI ,请使用以下依赖项。该特定版本将与Spring Boot 3一起使用
\n <dependency>\n <groupId>org.springdoc</groupId>\n <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>\n <version>2.0.2</version>\n </dependency>\nRun Code Online (Sandbox Code Playgroud)\n我希望这有帮助!如果您有任何疑问或者还有什么我可以帮助您的,请告诉我。
\n快乐编码!\xe2\x80\x8d
\n我在 spring boot 版本 1.5.3.RELEASE 中遇到了同样的问题,但可以通过添加 guava 版本 20.0 来解决它。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
小智 5
删除旧的 swagger 依赖项和配置类。使用新的 springdoc 依赖项会有所帮助
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
将您的查询更改为
@Modifying
@Transactional
@Query("from employee as ft where ft.company.id = :companyId")
void deleteAllEmployeeCompany(
@Param("companyId") @RequestParam("companyId") int companyId);
Run Code Online (Sandbox Code Playgroud)
或者使用 SpEL
@Modifying
@Transactional
@Query("from employee as ft where ft.company.id = ?#{companyId}")
void deleteAllEmployeeCompany(
@Param("companyId") @RequestParam("companyId") int companyId);
Run Code Online (Sandbox Code Playgroud)
检查此https://spring.io/blog/2014/07/15/spel-support-in-spring-data-jpa-query-definitions
| 归档时间: |
|
| 查看次数: |
19583 次 |
| 最近记录: |