springboot使用swagger-ui 2.10.5 有关版本更新带来的问题小结

 更新时间:2020年12月25日 11:31:07   作者:gopyja  
这篇文章主要介绍了springboot使用swagger-ui 2.10.5 有关版本更新带来的问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

问题1

常见问题

1.需要传入后台的为string类型 但是使用swagger-ui 接口进行测试的时候,输入的为数字类型,建议对pom.xml文件进行调整

 <dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>${swagger.version}</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>${swagger.version}</version>
			<exclusions>
				<exclusion>
					<groupId>io.swagger</groupId>
					<artifactId>swagger-annotations</artifactId>
				</exclusion>
				<exclusion>
					<groupId>io.swagger</groupId>
					<artifactId>swagger-models</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>io.swagger</groupId>
			<artifactId>swagger-annotations</artifactId>
			<version>1.5.21</version>
		</dependency>
		<dependency>
			<groupId>io.swagger</groupId>
			<artifactId>swagger-models</artifactId>
			<version>1.5.21</version>
		</dependency>

将原来默认的 1.5.20 版本剔除,此时的 swagger.version 默认为 2.10.5,默认引入的为1.5.20,可以剔除再引入新的1.5.21.

2.出现如下的图片的问题

Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API
Gateway. The base url is the root of where all the swagger resources are served. For e.g. if the api is available at
http://example.org/api/v2/api-docs then the base url is http://example.org/api/. Please enter the location manually:

图片入下图所示:

在这里插入图片描述

Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API
Gateway. The base url is the root of where all the swagger resources are served. For e.g. if the api is available at
http://example.org/api/v2/api-docs then the base url is http://example.org/api/. Please enter the location manually:

此时查看 pom.xml 的文件是否满足要求, 这里的 /api/dataStandard 路径为后台 yml 或者 properties 文件中的路径,例如:

server:
 port: 18088
 servlet:
  context-path: /api/dataStandard

因swagger-ui Java使用的是 2.10.5 版本,此版本与 3.0 和 原有2.9 版本及以下的版本不同,如果你选择使用 webflux 进行开发此时的pom.xml 文件应该引入如下配置:

<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-spring-webflux</artifactId>
			<version>2.10.5</version>
		</dependency>

同时可以在 SwaggerConfig.java 文件加上 @EnableSwagger2WebFlux 此配置,不然使用原有的 @EnableSwagger2 或者使用成 @EnableSwagger2WebMvc 会出现图片出现的错误。

如果你使用的是 springboot-web 进行开发,此时应该引入 pom.xml 如下配置:

<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-spring-webmvc</artifactId>
			<version>2.10.5</version>
		</dependency>

同时可以在 SwaggerConfig.java 文件加上 @EnableSwagger2WebMvc 此配置,不然使用原有的 @EnableSwagger2 或者使用成 @EnableSwagger2WebFlux 会出现图片出现的错误。

具体 SwaggerConfig.java 如题下所示:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
/**
 * @author hzp
 * @date 2020.11.05
 */
@EnableSwagger2WebMvc
@Configuration
public class SwaggerConfig {
  @Value("${swagger.enabled}")
  private Boolean enabled;

  @Bean
  @SuppressWarnings("all")
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .enable(enabled)
        .apiInfo(apiInfo())
        .pathMapping("/")
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.hzp.app.web"))
        .paths(PathSelectors.any())
        .build();
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("sso-server 接口文档")
        .description("后台登录")
        .version("1.0")
        .build();
  }

}

${swagger.enabled} 取yml中设置的是否启用 swagger-ui 功能,如下xml:

#是否开启 swagger-ui
swagger:
 enabled: true

以上为 springboot 采用 2.10.5 版本开发时遇到的一点问题,希望不足的地方大家给予意见。

到此这篇关于springboot使用swagger-ui 2.10.5 有关版本更新带来的问题小结的文章就介绍到这了,更多相关springboot使用swagger-ui 2版本问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IDEA+GIT使用入门图文详解

    IDEA+GIT使用入门图文详解

    这篇文章主要介绍了IDEA+GIT使用入门详解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • SpringBoot中的静态资源访问的实现

    SpringBoot中的静态资源访问的实现

    这篇文章主要介绍了SpringBoot中的静态资源访问的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 关于Kafka消息队列原理的总结

    关于Kafka消息队列原理的总结

    这篇文章主要介绍了关于Kafka消息队列原理的总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 详解Kotlin中的变量和方法

    详解Kotlin中的变量和方法

    这篇文章主要介绍了详解Kotlin中的变量和方法的相关资料,需要的朋友可以参考下
    2017-06-06
  • Java 解析Markdown文档格式的两种方式

    Java 解析Markdown文档格式的两种方式

    CommonMark和Flexmark是两种用于解析Markdown文档的Java库,CommonMark提供了一种简洁和一致的Markdown格式语法规范,但不支持目录解析,而Flexmark是一个基于CommonMark的扩展库,不仅遵循了CommonMark规范,还提供了更多灵活的API和扩展功能
    2024-10-10
  • java动态代理和cglib动态代理示例分享

    java动态代理和cglib动态代理示例分享

    这篇文章主要介绍了java动态代理和cglib动态代理示例,JDK1.3之后,Java提供了动态代理的技术,允许开发者在运行期间创建接口的代理实例,下面我们使用示例学习一下
    2014-03-03
  • Java String的intern用法解析

    Java String的intern用法解析

    这篇文章主要介绍了Java String的intern用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 详解Java如何关闭线程以及线程池

    详解Java如何关闭线程以及线程池

    java如何正确关闭线程以及线程池是一个高频的面试题,本文将为大家详细介绍实现的方法与代码,感兴趣的小伙伴快跟随小编一起学习一下
    2022-04-04
  • 使用Spring Cache和Redis实现查询数据缓存

    使用Spring Cache和Redis实现查询数据缓存

    在现代应用程序中,查询缓存的使用已经变得越来越普遍,它不仅能够显著提高系统的性能,还能提升用户体验,在这篇文章中,我们将探讨缓存的基本概念、重要性以及如何使用Spring Cache和Redis实现查询数据缓存,需要的朋友可以参考下
    2024-07-07
  • JAVA实现用户抽奖功能(附完整代码)

    JAVA实现用户抽奖功能(附完整代码)

    这篇文章主要给大家介绍了关于JAVA实现用户抽奖功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论