插件---Swagger3使用

简介: 插件---Swagger3使用

使用

1.在pom文件中加依赖

<dependency>
     <groupId>io.springfox</groupId>
      <artifactId>springfox-boot-starter</artifactId>
      <version>3.0.0</version>
</dependency>

2.Configuration配置类

2.Configuration配置类
package com.example.demo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
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;
import java.util.ArrayList;
/**
 * @Author: Re
 * @Date: 2021/4/26 14:02
 */
@Configuration
@EnableOpenApi
public class Swagger3Config {
    // 配置 Swagger 的Docket的bean实例
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.OAS_30)
                .apiInfo(apiInfo())
                .groupName("二姑娘")
                // enable 是否启动Swagger,如果为False,则Swagger不能在浏览器中访问
                // .enable(false)
                .select()
                // RequestHandlerSelectors 配置要扫描的接口方式
                // basePackage: 指定要扫描的包 通常使用这个
                // any(): 扫描全部
                // none(): 不扫描
                // withClassAnnotation: 扫描类上的注解,参数是一个注解的反射对象
                // withMethodAnnotation: 扫描方法上的注解,参数是一个注解的反射对象
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                // path() 过滤什么路径
                // .paths(PathSelectors.ant(""))
                .build();
    }
    private ApiInfo apiInfo(){
        // 配置Swagger 信息 = apiInfo
        // 作者信息 自己看着改
        return new ApiInfo(
                "二丫头的Swagger3测试",
                "二丫头的座右铭",
                "v1.0",
                "#",
                new Contact("二姑娘","#","1845620049@qq.com"),
                "Apache 2.0",
                "#",
                new ArrayList<>());
    }
}

注:如果要协同开发就需要多个Docket 方法来分组

Swagger注解

@Api:用在请求的类上,表示对类的说明 tags=“说明该类的作用,可以在UI界面上看到的注解”

value=“该参数没什么意义,在UI界面上也看到,所以不需要配置”

@ApiOperation:用在请求的方法上,说明方法的用途、作用 value=“说明方法的用途、作用”

notes=“方法的备注说明”

@ApiImplicitParams:用在请求的方法上,表示一组参数说明

@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面

name:参数名

value:参数的汉字说明、解释

required:参数是否必须传

paramType:参数放在哪个地方

· header --> 请求参数的获取:@RequestHeader

· query --> 请求参数的获取:@RequestParam

· path(用于restful接口)–> 请求参数的获取:

@PathVariable

· body(不常用)

· form(不常用)

dataType:参数类型,默认String,其它值dataType=“Integer”

defaultValue:参数的默认值

@ApiResponses:用在请求的方法上,表示一组响应

@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息

code:数字,例如400

message:信息,例如"请求参数没填好"

response:抛出异常的类

@ApiModel:用于响应类上,表示一个返回响应数据的信息

(这种一般用在post创建的时候,使用@RequestBody这样的场景,

请求参数无法使用@ApiImplicitParam注解进行描述的时候) @ApiModelProperty:用在属性上,描述响应类的属性

访问地址:

localhost:port/swagger-ui/index.html

knife4j

添加依赖

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <!--在引用时请在maven中央仓库搜索最新版本号-->
    <version>2.0.2</version>
</dependency>

访问地址

localhost:port/doc.html


相关文章
|
5月前
|
数据可视化 前端开发 Java
简单使用Swagger
Swagger是一个用于生成、描述和可视化RESTful服务的框架,简化前后端分离开发,自动化接口文档生成,支持功能测试。Springfox是Spring中的Swagger实现。Knife4j是Java MVC的Swagger增强工具,提供更便捷的Api文档生成。使用步骤包括添加依赖、配置Docket、设置静态资源映射。常用注解如`@Api`, `@ApiOperation`, `@ApiModel`, `@ApiModelProperty`用于美化接口文档。虽然Swagger可生成接口文档,但它与设计阶段工具如Yapi互补,分别适用于开发和设计阶段。
94 3
简单使用Swagger
|
5月前
|
XML Java 测试技术
【二】springboot整合自定义swagger
【二】springboot整合自定义swagger
68 0
|
Java API Spring
API管理工具Swagger介绍及Springfox原理分析
swagger是一个API框架,号称世界上最流行的API工具。它提供了API管理的全套解决方案,比如API在线编辑器,API UI展示界面,代码生成器等诸多功能。
11267 7
|
5月前
|
Java API 开发者
Bladex生成Swagger的方法
Bladex生成Swagger的方法
|
前端开发 安全 Java
Swagger——【SpringBoot集成Swagger、配置Swagger、配置扫描接口、配置API分组】
Swagger——【SpringBoot集成Swagger、配置Swagger、配置扫描接口、配置API分组】
Swagger——【SpringBoot集成Swagger、配置Swagger、配置扫描接口、配置API分组】
|
5月前
|
前端开发 搜索推荐 Java
springboot集成swagger knife4j 最详细的步骤 手把手教你继承swagger
springboot集成swagger knife4j 最详细的步骤 手把手教你继承swagger
571 0
springboot集成swagger knife4j 最详细的步骤 手把手教你继承swagger
|
Java Maven 开发者
Springboot 整合 knife4j | Swagger文档最简单配置
Springboot 整合 knife4j | Swagger文档最简单配置
1361 0
Springboot 整合 knife4j | Swagger文档最简单配置
|
前端开发 JavaScript Java
Swagger-UI 介绍及基本使用指南
Swagger-UI 介绍及基本使用指南
9792 1
Swagger-UI 介绍及基本使用指南
|
缓存 搜索推荐 前端开发
Swagger的界面太丑,试试knife4j的接口文档吧
Swagger的界面太丑,试试knife4j的接口文档吧
348 0
|
前端开发 Java API
Swagger简介
- 前端 -> 前端控制层、视图层 - 后端 -> 后端控制层、服务层、数据访问层 - 前后端通过API进行交互 - 前后端相对独立且松耦合
Swagger简介