swagger官方注解包,目前参与解析的注解与属性说明

@Api
tags                分组
position            排序位置
hidden              不生成文档

@Deprecated         方法废弃注解(JDK自带)
@ApiOperation       方法
tags                方法分组,默认取归属的controller分组
value               简单描述
notes               详细描述
code                返回码 默认值200
httpMethod          GET/POST/等 默认值GET
consumes            请求格式
produces            返回格式
position            排序位置
schemes             可用协议
hidden              不生成文档

@ApiImplicitParams  包含一组参数说明
@ApiImplicitParam   @ApiImplicitParams中，指定一个请求参数的配置信息
name                参数名称
value               描述
required            必填
allowMultiple       数组
dataType            参数类型
dataTypeClass       参数对象
paramType           参数提交方式 query/body/header
format              自定义格式
example             非对象参数的示例值


@ApiResponses       包含一组返回值说明 (未实现,请使用@ApiRes进行返回值描述)
@ApiResponse        @ApiResponses，指定一个返回值参数的配置信息 (未实现,请使用@ApiResProperty进行返回值描述)
code                状态码
message             状态码对应信息
response            返回对象


@ApiModel           bean/dto/model 注解
description         描述

@ApiModelProperty   @ApiModel中字段注解
value               描述
example             示例值
dataType            参数类型

------------------------------------------------------------------------------------------------------------
自定义注解
用于返回文档的生成,区别于swagger官方注解.
根据配置responseInData将参数放在CommonRet中返回,或CommonRet.data中返回

@ApiRes             包含一组返回值说明
@ApiResProperty     @ApiRes，指定一个返回值参数的配置信息
name                返回值名称
value               描述
allowMultiple       数组
dataType            参数类型
dataTypeClass       参数对象
format              自定义格式
example             非对象参数的示例值

@ApiNoAuthorize     声明Controller或方法不需要认证,文档不生成全局参数(2.6版本+)

------------------------------------------------------------------------------------------------------------
ApiEnum.java
所有swagger注解用到的类型,都汇总在此类中.

------------------------------------------------------------------------------------------------------------
swagger.properties  自行修改后,放在resources目录下

# 配置 swagger

# 启用文档
enable = true

# Basic认证功能
# 输入用户名密码访问,支持配置多个
# basicAuth = admin#123456,user#654321,张三#abc

# 当前swagger的版本号
swaggerVersion = 2.0

# 文档名称
info_title = 在线文档
# 文档说明
info_description = 在线API文档
# 服务条件
info_termsOfService = https://github.com/996icu/996.ICU/blob/master/LICENSE
# 许可
info_license_name = linBq
info_license_url = http://www.jfinal.com/user/43453
# 联系方式
info_contact_name = linBq
info_contact_email = 526509994@qq.com
# 文档版本号
info_version = 1.0

# 访问地址,默认指向当前服务器
# host = 127.0.0.1:8080

# 访问前缀,默认为空,需与JFinal配置的controllerKey前缀一致
basePath = /api

# 访问许可
schemes = http, https

# 链接外部文档
externalDocs_description = Find out more about Swagger
externalDocs_url = https://swagger.io/

# 接口分组 分组名#包名#basePath 多个分组使用逗号拼接. 接口分组basePath可为空,默认使用全局配置的basePath.
swagger_resources = admin端接口#com.swagger.demo.admin, app端接口#com.swagger.demo.app
# swagger_resources = admin端接口#com.swagger.demo.admin#/api/admin, app端接口#com.swagger.demo.app#/api/app

# 返回值文档生成于data中, 默认启用.
responseInData = true

# 提供全局参数Debug功能,目前默认提供header(请求头)、query(form)两种方式的入参.Debug调试tab页会带上该参数
# 格式  name#in   多个全局参数使用逗号拼接
# name  参数名.
# in    header(请求头) | query(form)
globalSecurityParameters = token#header, testPara#query

# 本地缓存(3.10.1新增)
#cacheSecond = 600

#############################  扩展增强设置  #############################
# Ui界面不显示分组元素(默认显示)
# enableGroup = false
# 禁用OpenApi结构显示(默认显示)
# enableOpenApi = false
# 禁用UI搜索框(默认显示)
# enableSearch = false
# 禁用调试(默认显示)
# enableDebug = false
# 调试Tab是否显示AfterScript功能(默认显示)
# enableAfterScript = false
# 是否显示界面中SwaggerModel功能(默认显示)
# enableSwaggerModels = false
# 自定义Swagger Models名称(默认显示Swagger Models)
# swaggerModelName = 我是自定义的Model名称
# 是否显示Footer(默认显示)
# enableFooter = false
# 是否启用自定义Footer
# enableFooterCustom = true
# 自定义Footer内容,支持Markdown语法. 需enableFooter=false&&enableFooterCustom=true时生效
# footerCustomContent = Apache License 2.0 | Copyright  2019-[浙江八一菜刀股份有限公司](https://gitee.com/xiaoym/knife4j)


------------------------------------------------------------------------------------------------------------
Maven依赖
<dependency>
    <groupId>com.jfinal</groupId>
    <artifactId>jfinal</artifactId>
    <version>4.9</version>
</dependency>

------------------------------------------------------------------------------------------------------------
更新knife4j ui 步骤,当前引用Knife4j UI 2.0.8版本
不再魔改UI,一切以官方提供为准.如果官方更新UI库,在不影响解析的情况下,可自行替换UI版本,等适配.
示例:
<dependency>
    <groupId>com.lastB7</groupId>
    <artifactId>jfinal-swagger-knife4j</artifactId>
    <version>2.8</version>
    <exclusions>
      <exclusion>
        <groupId>com.github.xiaoymin</groupId>
        <artifactId>knife4j-spring-ui</artifactId>
      </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-ui</artifactId>
    <version>2.0.X</version>
</dependency>



------------------------------------------------------------------------------------------------------------
更新日志:
2.8 2021-05-25
1.替换UI资源文件引用解析方式. 统一使用官方提供的UI,不再魔改了.
2.支持contextPath配置. 需要undertow.txt,swagger.properties 中一起配置.

2.12.0 2023-01-28
1.支持FastControllerFactory使用场景.

3.0.0 2023-01-28
1.升级UI到最新Knife4j 4.0.0大版本.
