springboot使用swagger

网友投稿 375 2022-11-08


springboot使用swagger

问题1

常见问题

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

io.springfox

springfox-swagger2

${swagger.version}

io.springfox

springfox-swagger-ui

${swagger.version}

io.swagger

swagger-annotations

io.swagger

swagger-models

io.swagger

swagger-annotations

1.5.21

io.swagger

swagger-models

1.5.21

将原来默认的 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 文件应该引入如下配置:

io.springfox

springfox-spring-webflux

2.10.5&http://lt;/version>

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

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

io.springfox

springfox-spring-webmvc

2.10.5

同时可以在 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 版本开发时遇到的一点问题,希望不足的地方大家给予意见。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MybatisPlus实现逻辑删除功能
下一篇:springboot+swagger2.10.5+mybatis
相关文章

 发表评论

暂时没有评论,来抢沙发吧~