欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot集成Swagger3的实现

程序员文章站 2022-03-07 11:27:26
目录一,什么是swagger?二,springboot 集成swagger3三,swagger3 注解标签使用一,什么是swagger?1,  swagger 是一个规范和完整的文档框...

一,什么是swagger?

1,  swagger 是一个规范和完整的文档框架,

    用于生成、描述、调用和可视化 restful 风格的 web 服务文档

    官方网站:https://swagger.io/

2,使用swagger要注意的地方:

     在生产环境中必须关闭swagger,

     它本身只用于前后端工程师之间的沟通,

     可以专门使用一台内部服务器来展示ui供访问,

     即使在这上面要做好安全措施

3,  因为swagger3.0.0已发布,本文使用了最新版

     如果有还在用2.x版本的请参考时注意区分

二,springboot 集成swagger3

 pom.xml 集成swagger3依赖

        <!-- swagger3 接口文档生成器 -->
		<dependency>
			<groupid>io.springfox</groupid>
			<artifactid>springfox-boot-starter</artifactid>
			<version>3.0.0</version>
			<exclusions>
				<exclusion>
					<groupid>org.springframework.plugin</groupid>
					<artifactid>spring-plugin-core</artifactid>
				</exclusion>
				<exclusion>
					<groupid>org.springframework.plugin</groupid>
					<artifactid>spring-plugin-metadata</artifactid>
				</exclusion>
			</exclusions>
		</dependency>

swagger3 配置对象定义

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.oas.annotations.enableopenapi;
import springfox.documentation.service.apiinfo;
import springfox.documentation.service.contact;
import springfox.documentation.spi.documentationtype;
import springfox.documentation.spring.web.plugins.docket;
 
@configuration
@enableopenapi
public class swagger3config {
	@bean
    public docket createrestapi() {
        return new docket(documentationtype.oas_30)
                .apiinfo(apiinfo())
                .select()
                .apis(requesthandlerselectors.basepackage("com.digipower.controller"))
                .paths(pathselectors.any())
                .build();
    }
 
    private apiinfo apiinfo() {
        return new apiinfobuilder().title("在奋斗的大道上 - 微信预约查档系统").termsofserviceurl("https://blog.csdn.net/zhouzhiwengang")
				.description("api接口")
				.contact(new contact("https://blog.csdn.net/zhouzhiwengang","",""))
				.version("3.0").build();
    }
 
}

springboot 集成swagger3 接口文档效果截图

SpringBoot集成Swagger3的实现

 springboot 访问swagger3接口文档地址

默认接口访问地址:http://192.168.0.1:5988/swagger-ui/

三,swagger3 注解标签使用

@apimodel用于类上面说明功能

@apimodelproperty用于字段上说明功能

示列截图:

SpringBoot集成Swagger3的实现

@api用来指定一个controller中的各个接口的通用说明

@apioperation用来说明一个方法

@apiimplicitparams:用来包含多个包含多个 @apiimplicitparam

@apiimplicitparam:用来说明一个请求参数 

示列截图:

SpringBoot集成Swagger3的实现

 温馨提示:针对任何请求参数结构说明,请一定记得要添加@apiparam 标签,如果不添加@apiparam标签,在swagger3文档中针对参数结构说明就是空

到此这篇关于springboot集成swagger3的实现的文章就介绍到这了,更多相关springboot集成swagger3内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!