mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-07 01:18:27 +08:00
swagger with knife4j
This commit is contained in:
parent
fba48af522
commit
cfded0f337
@ -418,8 +418,8 @@ subprojects {
|
||||
implementation group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
|
||||
implementation group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
|
||||
implementation group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
|
||||
//docs
|
||||
implementation group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
|
||||
//docs
|
||||
//implementation group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
|
||||
//implementation group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
|
||||
implementation group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
|
||||
@ -433,9 +433,11 @@ subprojects {
|
||||
implementation group: 'org.springdoc', name: 'springdoc-openapi-ui', version: "${springdocVersion}"
|
||||
implementation group: 'org.webjars', name: 'webjars-locator-core', version: '0.48'
|
||||
implementation group: 'org.webjars', name: 'webjars-locator', version: '0.42'
|
||||
implementation group: 'org.webjars', name: 'swagger-ui', version: '4.1.3'
|
||||
implementation group: 'org.webjars', name: 'swagger-ui', version: '4.11.1'
|
||||
//knife4j
|
||||
implementation group: 'com.github.xiaoymin', name: 'knife4j-springdoc-ui', version: "${knife4jVersion}"
|
||||
implementation group: 'com.github.xiaoymin', name: 'knife4j-core', version: "${knife4jVersion}"
|
||||
implementation group: 'com.github.xiaoymin', name: 'knife4j-openapi3-ui', version: "${knife4jVersion}"
|
||||
implementation group: 'com.github.xiaoymin', name: 'knife4j-openapi3-spring-boot-starter', version: "${knife4jVersion}"
|
||||
|
||||
//local jars
|
||||
implementation fileTree(dir: "${rootDir}/maxkey-lib/", include: '*.jar')
|
||||
|
||||
@ -90,9 +90,9 @@ concurrentlinkedhashmaplruVersion =1.4.2
|
||||
jbossloggingVersion =3.4.3.Final
|
||||
hibernateVersion =6.2.5.Final
|
||||
#doc
|
||||
swaggerV3Version =2.2.1
|
||||
springdocVersion =1.6.13
|
||||
knife4jVersion =3.0.3
|
||||
swaggerV3Version =2.2.8
|
||||
springdocVersion =1.6.15
|
||||
knife4jVersion =4.0.0
|
||||
#database
|
||||
postgresqlVersion =42.4.1
|
||||
mysqlconnectorjavaVersion =8.0.32
|
||||
|
||||
@ -1,8 +1,12 @@
|
||||
package org.maxkey.autoconfigure;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springdoc.core.GroupedOpenApi;
|
||||
import org.springdoc.core.customizers.GlobalOpenApiCustomizer;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@ -28,6 +32,24 @@ public class SwaggerConfig {
|
||||
@Value("${maxkey.swagger.enable}")
|
||||
boolean enable;
|
||||
|
||||
@Bean
|
||||
public GlobalOpenApiCustomizer orderGlobalOpenApiCustomizer() {
|
||||
return openApi -> {
|
||||
if (openApi.getTags()!=null){
|
||||
openApi.getTags().forEach(tag -> {
|
||||
Map<String,Object> map=new HashMap<>();
|
||||
map.put("x-order",1);
|
||||
tag.setExtensions(map);
|
||||
});
|
||||
}
|
||||
if(openApi.getPaths()!=null){
|
||||
openApi.addExtension("x-test123","333");
|
||||
openApi.getPaths().addExtension("x-abb",1);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
public GroupedOpenApi userApi(){
|
||||
String[] paths = {
|
||||
@ -57,7 +79,7 @@ public class SwaggerConfig {
|
||||
.title(title)
|
||||
.description(description)
|
||||
.version(version)
|
||||
.termsOfService("https://www.maxkey.top/")
|
||||
.termsOfService("http://www.maxkey.top/")
|
||||
.license(
|
||||
new License()
|
||||
.name("Apache License, Version 2.0")
|
||||
@ -67,7 +89,7 @@ public class SwaggerConfig {
|
||||
externalDocs(
|
||||
new ExternalDocumentation()
|
||||
.description("MaxKey.top contact support@maxsso.net")
|
||||
.url("https://www.maxkey.top/")
|
||||
.url("http://www.maxkey.top/")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -79,6 +79,7 @@ public class MaxKeyMvcConfig implements WebMvcConfigurer {
|
||||
_logger.debug("add statics");
|
||||
registry.addResourceHandler("/static/**")
|
||||
.addResourceLocations("classpath:/static/");
|
||||
|
||||
_logger.debug("add templates");
|
||||
registry.addResourceHandler("/templates/**")
|
||||
.addResourceLocations("classpath:/templates/");
|
||||
@ -86,12 +87,13 @@ public class MaxKeyMvcConfig implements WebMvcConfigurer {
|
||||
_logger.debug("add swagger");
|
||||
registry.addResourceHandler("swagger-ui.html")
|
||||
.addResourceLocations("classpath:/META-INF/resources/");
|
||||
registry.addResourceHandler("/webjars/**")
|
||||
.addResourceLocations("classpath:/META-INF/resources/webjars/");
|
||||
|
||||
_logger.debug("add knife4j");
|
||||
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
|
||||
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
|
||||
registry.addResourceHandler("doc.html")
|
||||
.addResourceLocations("classpath:/META-INF/resources/");
|
||||
|
||||
registry.addResourceHandler("/webjars/**")
|
||||
.addResourceLocations("classpath:/META-INF/resources/webjars/");
|
||||
|
||||
_logger.debug("add Resource Handler finished .");
|
||||
}
|
||||
|
||||
@ -276,6 +276,20 @@ maxkey.swagger.title =MaxKey\u5355\u70b9\u767b\u5f55\
|
||||
maxkey.swagger.description =MaxKey\u5355\u70b9\u767b\u5f55\u8ba4\u8bc1\u7cfb\u7edfAPI\u6587\u6863
|
||||
maxkey.swagger.version =${application.formatted-version}
|
||||
|
||||
springdoc.swagger-ui.path =/swagger-ui.html
|
||||
springdoc.swagger-ui.enabled =true
|
||||
springdoc.swagger-ui.tags-sorter =alpha
|
||||
springdoc.swagger-ui.operations-sorter =alpha
|
||||
springdoc.swagger-ui.showExtensions =true
|
||||
springdoc.api-docs.path =/v3/api-docs
|
||||
springdoc.group-configs[0].group =default
|
||||
springdoc.group-configs[0].paths-to-match =/*
|
||||
springdoc.group-configs[0].packages-to-scan =org.maxkey
|
||||
|
||||
knife4j.enable =true
|
||||
knife4j.setting.language =zh_cn
|
||||
knife4j.setting.swagger-model-name =\u5B9E\u4F53\u7C7B\u5217\u8868
|
||||
|
||||
############################################################################
|
||||
#freemarker configuration #
|
||||
############################################################################
|
||||
|
||||
@ -212,6 +212,19 @@ maxkey.swagger.title =MaxKey\u5355\u70b9\u767b\u5f55\
|
||||
maxkey.swagger.description =MaxKey\u5355\u70b9\u767b\u5f55\u8ba4\u8bc1\u7cfb\u7edfAPI\u6587\u6863
|
||||
maxkey.swagger.version =${application.formatted-version}
|
||||
|
||||
springdoc.swagger-ui.path =/swagger-ui.html
|
||||
springdoc.swagger-ui.enabled =true
|
||||
springdoc.swagger-ui.tags-sorter =alpha
|
||||
springdoc.swagger-ui.operations-sorter =alpha
|
||||
springdoc.swagger-ui.showExtensions =true
|
||||
springdoc.api-docs.path =/v3/api-docs
|
||||
springdoc.group-configs[0].group =default
|
||||
springdoc.group-configs[0].paths-to-match =/*
|
||||
springdoc.group-configs[0].packages-to-scan =org.maxkey
|
||||
|
||||
knife4j.enable =true
|
||||
knife4j.setting.language =zh_cn
|
||||
knife4j.setting.swagger-model-name =\u5B9E\u4F53\u7C7B\u5217\u8868
|
||||
############################################################################
|
||||
#freemarker configuration #
|
||||
############################################################################
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user