knife4j-swagger接入

knife4j-swagger接入

GitHub地址:https://github.com/xiaoymin/swagger-bootstrap-ui

官网:https://xiaoym.gitee.io/knife4j/documentation/

一、接入项目

1.1、公共配置

swagger公共使用的东西拆分到nm-common-core模块中,避免每个模块都需要些重复的东西。

  • 引入依赖
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>2.0.4</version>
</dependency>

只需要引入这个依赖即可,springfox-swagger2这些依赖都包含在内了,不需要再次引入。

  • 定义自定义配置对象
package com.centre.common.model;

import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * Swagger自定义配置
 * Created by macro on 2020/7/16.
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Builder
public class SwaggerDO {
    /**
     * API文档生成基础路径
     */
    private String apiBasePackage;
    /**
     * 是否要启用登录认证
     */
    private boolean enableSecurity;
    /**
     * 文档标题
     */
    private String title;
    /**
     * 文档描述
     */
    private String description;
    /**
     * 文档版本
     */
    private String version;
    /**
     * 文档联系人姓名
     */
    private String contactName;
    /**
     * 文档联系人网址
     */
    private String contactUrl;
    /**
     * 文档联系人邮箱
     */
    private String contactEmail;
}

这个配置可以写也可以不用写,使用默认呗。

  • Swagger基础配置

在这里插入图片描述

  • 定义自定义配置类

这个类用于是否使用swaggerswagger我们只是在开发环境下使用,如果是线上环境是不需要使用的,如果想swagger应用到线上环境是非常危险。所以这里的定义是如果不做任何配置的情况下,默认是关闭swagger的,为了安全着想。

在这里插入图片描述

1.2、在需要使用的模块下配置

创建配置文件

package com.user.auth.config;

import com.centre.common.config.BaseSwaggerConfig;
import com.centre.common.model.SwaggerDO;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * Swagger API文档相关配置
 * @author: stars
 * @data: 2020年 11月 27日 11:38
 */
@Configuration
@EnableSwagger2
@EnableKnife4j
@ConditionalOnProperty(prefix = "nm.swagger",value = {"enable"},havingValue = "true")
public class SwaggerConfig extends BaseSwaggerConfig {

    @Override
    public SwaggerDO swaggerProperties() {
        return SwaggerDO.builder()
                .apiBasePackage("com.user.auth.controller")
                .title("用户管理系统")
                .description("用户相关接口文档")
                .contactName("stars")
                .version("1.0")
                .enableSecurity(false)
                .build();
    }
}

在这里插入图片描述

注意:apiBasePackage这里是API生成路径,需要指定前端控制器的包路径,否则不知道前端控制器在哪个地方。

二、使用介绍

@ApiOperation

当前接口的名称

@ApiOperation("添加品牌")
// 或者
@ApiOperation(value = "添加品牌")

在这里插入图片描述

@ApiOperationSupport

需要过滤掉的参数

过滤掉不用显示的参数,如果接口参数接收一个对象,但是这个对象里面可能存在一些当前接口不需要的参数,就可以使用这个注解过滤掉。

在这里插入图片描述

@ApiModelProperty

这个参数一般都是使用在对象上面,指定这个对象的描述和是否必须。如果普通对象,只需要指定描述就可以了,如果这个对象是作为参数使用,那么可以指定描述和当前参数是否必须。

在这里插入图片描述

@Api(tags = "代码生成")

使用在类明上

界面介绍

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值