首页 > 其他分享 >SpringBoot整合knife4j

SpringBoot整合knife4j

时间:2023-05-16 22:25:01浏览次数:42  
标签:knife4j SpringBoot feiyu documentation springframework 整合 import springfox com

● knife4j是一个集 Swagger2和PoenApi为一体的增强解决方案

  1. 导入依赖
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-spring-boot-starter</artifactId>
  <version>3.0.3</version>
</dependency>
  1. 编写相关配置类
package com.feiyu.common.config;


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

import java.util.ArrayList;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: KeYu
 * @Package: com.feiyu.common.config
 * @Date: 2023/05/16/21:45
 * @说明:knife4j配置信息
 */

@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfig {

    @Bean
    public Docket adminApiConfig(){
        List<Parameter> pars = new ArrayList<>();
        ParameterBuilder tokenPar = new ParameterBuilder();
        tokenPar.name("token")
                .description("用户token")
                .defaultValue("")
                .modelRef(new ModelRef("string"))
                .parameterType("header")
                .required(false)
                .build();
        pars.add(tokenPar.build());
        //添加head参数end

        Docket adminApi = new Docket(DocumentationType.SWAGGER_2)
                .groupName("adminApi")
                .apiInfo(adminApiInfo())
                .select()
                //只显示admin路径下的页面
                .apis(RequestHandlerSelectors.basePackage("com.feiyu"))
                .paths(PathSelectors.regex("/admin/.*"))
                .build()
                .globalOperationParameters(pars);
        return adminApi;
    }

    private ApiInfo adminApiInfo(){

        return new ApiInfoBuilder()
                .title("后台管理系统-API文档")
                .description("本文档描述了后台管理系统微服务接口定义")
                .version("1.0")
                .contact(new Contact("keyu", "http://www.fkclass.top", "[email protected]"))
                .build();
    }


}
  1. Controller层添加注解
    a. 方便查看
package com.feiyu.auth.controller;

import com.feiyu.auth.service.SysRoleService;
import com.feiyu.model.system.SysRole;
import com.feiyu.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: KeYu
 * @Package: com.feiyu.auth.controller
 * @Date: 2023/05/16/20:56
 * @说明:
 */

@Api("角色管理")
@RestController
@RequestMapping("/admin/system/stsRole")
public class SysRoleController {
    @Autowired
    private SysRoleService sysRoleService;

    @ApiOperation("查询所有角色")
    @GetMapping("/findAll")
    public Result findAll(){
        List<SysRole> list = sysRoleService.list();
        return Result.success(list);
    }
}
  1. 测试
    浏览器访问:http://localhost:8081/doc.html
    image

标签:knife4j,SpringBoot,feiyu,documentation,springframework,整合,import,springfox,com
From: https://www.cnblogs.com/FkClass/p/17407042.html

相关文章

  • SpringBoot添加JSP支持
    ①创建一个新的MavenWeb项目,命名为SpringBoot_jsptest建成之后会如上图所示,报错是因为没有加入jsp的支持。②按照Maven规范,在src/main/下新建一个名为resource的文件夹,并在下面新建static以及templates文件夹修改pom.xml文件:      1、在url标签后面加入parent元素: <!--......
  • SpringBoot实现注册时头像上传与下载
    一、说明     1.为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。      2.SpringMVC为文件上传提供了直接的支持,这种支持是通过MultipartResolver实现的,SpringMVC使用ApacheCommonsFileUpload技术实现了MultipartResolver实现......
  • SpringBoot中使用Thymeleaf常用功能(一):表达式访问数据
    环境搭建:  创建一个Maven项目,按照Maven项目的规范,在src/main/下新建一个名为resources的文件夹,并在下面新建static和templates文件夹。 ① 修改pom.xml:<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi......
  • apache整合tomcat
    为什么要用apache来整合tomcat呢?首先,是因为apache是静态服务器,tomcat是动态服务器,二者相辅相成,才能完美构建一个web服务器;其次,用apache作为中心服务器器,将请求分发到多个tomcat,解决负载均衡,实现服务器的稳定性。那么,也有人会说,ngnix整合tomcat不就可以了,而且也很流行。我想说,实现......
  • SpringBoot入门案例后的4个问题
    1.我们的工程在引入`spring-boot-starter-web`依赖的时候,为什么没有指定版本版本锁定 我们的项目继承了spring-boot-starter-parent父工程,它内部的父工程spring-boot-dependencies已经锁定了部分依赖的版本号,因此自己创建工程中无需再指定版本。2.`spring-......
  • SSM整合报错:errorCode 1045, state 28000 java.sql.SQLException: Access denied for
    SSM整合报错:errorCode1045,state28000java.sql.SQLException:Accessdeniedforuser简述SSM整合项目配置好环境后,当要对数据库进行操作,加载jdbc.properties数据库配置文件时,出现下面的报错createconnectionSQLException,url:jdbc:mysql://localhost:3306/furn_ssm,......
  • SpringBoot+Prometheus+Grafana实现应用程序可视化监控
    1、SpringBoot应用暴露监控指标maven依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupI......
  • FX5U FX40SSC 程序 FX5U FX 40SSC运动控制模块程序块 自己整合的针对FX 40SSC模块的
    FX5UFX40SSC程序FX5UFX40SSC运动控制模块程序块自己整合的针对FX40SSC模块的功能块,支持点动故障码状态码相对定位绝对定位直接1指定轴号就可以控制对应的轴可以大幅缩短程序开发时间,减少BUG出现机率。ID:8715641034653828......
  • SSH 整合 Activiti
    Spring/Activiti/JPA(Hibernate)Integration[url]http://www.kaixinwenda.com/article-derek_zhang_-8364934.html[/url]Act的官方推荐的orm是mybatis,由于项目需要hibernate,所以做了一次Act和SSH的整合。1.首先添加jar依赖。act的engine.jar,spring.jar包。项目前期比较懒所......
  • SpringBoot优化之项目启动优化
    目录1SpringBoot启动优化1.1背景1.2观察SpringBoot启动run方法1.2.1SpringApplicationRunListener接口1.2.2使用SpringApplicationRunListener监控1.3监控Bean注入耗时1.3.1BeanPostProcessor接口1.4优化方案1.4.1如何解决扫描路径过多1.4.2如何解决Bean初始......