Commit ad20175c authored by 李成龙's avatar 李成龙

优化swagger

parent 15461b6e
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
......
...@@ -30,29 +30,30 @@ import springfox.documentation.service.SecurityScheme; ...@@ -30,29 +30,30 @@ import springfox.documentation.service.SecurityScheme;
import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
/** /**
* @Author lichenglong * @Author lichenglong
*/ */
//@Configuration
//@EnableSwagger2
//@EnableKnife4j
//@Import(BeanValidatorPluginsConfiguration.class)
@Configuration @Configuration
@EnableSwagger2 @EnableSwagger2WebMvc
@EnableKnife4j public class Swagger2Config {
@Import(BeanValidatorPluginsConfiguration.class)
public class Swagger2Config implements WebMvcConfigurer {
/** /**
* *
* 显示swagger-ui.html文档展示页,还必须注入swagger资源: * 显示swagger-ui.html文档展示页,还必须注入swagger资源:
* // *
* @param registry * @param registry
*/ */
@Override // @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) { // public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); // registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); // registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); // registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
} // }
/** /**
* swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等 * swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
...@@ -71,9 +72,9 @@ public class Swagger2Config implements WebMvcConfigurer { ...@@ -71,9 +72,9 @@ public class Swagger2Config implements WebMvcConfigurer {
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class)) .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any()) .paths(PathSelectors.any())
.build() .build();
.securitySchemes(Collections.singletonList(securityScheme())) // .securitySchemes(Collections.singletonList(securityScheme()))
.securityContexts(securityContexts()); // .securityContexts(securityContexts());
//.globalOperationParameters(setHeaderToken()); //.globalOperationParameters(setHeaderToken());
} }
...@@ -83,21 +84,21 @@ public class Swagger2Config implements WebMvcConfigurer { ...@@ -83,21 +84,21 @@ public class Swagger2Config implements WebMvcConfigurer {
* http://localhost:8888/webjars/springfox-swagger-ui/o2c.html * http://localhost:8888/webjars/springfox-swagger-ui/o2c.html
* @return * @return
*/ */
@Bean // @Bean
SecurityScheme securityScheme() { // SecurityScheme securityScheme() {
return new ApiKey(CommonConstant.X_ACCESS_TOKEN, CommonConstant.X_ACCESS_TOKEN, "header"); // return new ApiKey(CommonConstant.X_ACCESS_TOKEN, CommonConstant.X_ACCESS_TOKEN, "header");
} // }
/** /**
* JWT token * JWT token
* @return * @return
*/ */
private List<Parameter> setHeaderToken() { // private List<Parameter> setHeaderToken() {
ParameterBuilder tokenPar = new ParameterBuilder(); // ParameterBuilder tokenPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<>(); // List<Parameter> pars = new ArrayList<>();
tokenPar.name(CommonConstant.X_ACCESS_TOKEN).description("token").modelRef(new ModelRef("string")).parameterType("header").required(false).build(); // tokenPar.name(CommonConstant.X_ACCESS_TOKEN).description("token").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
pars.add(tokenPar.build()); // pars.add(tokenPar.build());
return pars; // return pars;
} // }
/** /**
* api文档的详细信息函数,注意这里的注解引用的是哪个 * api文档的详细信息函数,注意这里的注解引用的是哪个
...@@ -123,22 +124,22 @@ public class Swagger2Config implements WebMvcConfigurer { ...@@ -123,22 +124,22 @@ public class Swagger2Config implements WebMvcConfigurer {
/** /**
* 新增 securityContexts 保持登录状态 * 新增 securityContexts 保持登录状态
*/ */
private List<SecurityContext> securityContexts() { // private List<SecurityContext> securityContexts() {
return new ArrayList( // return new ArrayList(
Collections.singleton(SecurityContext.builder() // Collections.singleton(SecurityContext.builder()
.securityReferences(defaultAuth()) // .securityReferences(defaultAuth())
.forPaths(PathSelectors.regex("^(?!auth).*$")) // .forPaths(PathSelectors.regex("^(?!auth).*$"))
.build()) // .build())
); // );
} // }
//
private List<SecurityReference> defaultAuth() { // private List<SecurityReference> defaultAuth() {
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); // AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; // AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope; // authorizationScopes[0] = authorizationScope;
return new ArrayList( // return new ArrayList(
Collections.singleton(new SecurityReference(CommonConstant.X_ACCESS_TOKEN, authorizationScopes))); // Collections.singleton(new SecurityReference(CommonConstant.X_ACCESS_TOKEN, authorizationScopes)));
} // }
} }
package org.typroject.tyboot.core.restful.doc;
/**
* 此类是为了覆盖原有类,为空,不用写具体实现
* @author lichenglong
*
*/
public class Swagger2 {
}
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
......
package com.yeejoin.amos; package com.yeejoin.amos;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -15,7 +18,8 @@ import org.springframework.context.annotation.ComponentScan; ...@@ -15,7 +18,8 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import com.yeejoin.amos.boot.biz.common.utils.oConvertUtils;
/** /**
* <pre> * <pre>
...@@ -26,7 +30,6 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -26,7 +30,6 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication @SpringBootApplication
@EnableTransactionManagement @EnableTransactionManagement
@EnableConfigurationProperties @EnableConfigurationProperties
@EnableSwagger2
@ServletComponentScan @ServletComponentScan
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableFeignClients @EnableFeignClients
...@@ -42,17 +45,17 @@ public class AmosJcsApplication ...@@ -42,17 +45,17 @@ public class AmosJcsApplication
{ {
private static final Logger logger = LoggerFactory.getLogger(AmosJcsApplication.class); private static final Logger logger = LoggerFactory.getLogger(AmosJcsApplication.class);
public static void main( String[] args ) public static void main( String[] args ) throws UnknownHostException
{ {
ConfigurableApplicationContext context = SpringApplication.run(AmosJcsApplication.class, args); ConfigurableApplicationContext context = SpringApplication.run(AmosJcsApplication.class, args);
Environment environment = context.getEnvironment(); Environment env = context.getEnvironment();
String ip = InetAddress.getLocalHost().getHostAddress();
String port = env.getProperty("server.port");
String path = oConvertUtils.getString(env.getProperty("server.servlet.context-path"));
logger.info("The requested service of " + environment.getProperty("spring.application.name") logger.info("\n----------------------------------------------------------\n\t" +
+ " has already been started in " "Application Jeecg-Boot is running! Access URLs:\n\t" +
+ environment.getProperty("spring.profiles.active") + "" "Swagger文档: \thttp://" + ip + ":" + port + path + "/doc.html\n" +
+ " environment,and service's url is 'http://localhost:" "----------------------------------------------------------");
+ environment.getProperty("server.port")
+ environment.getProperty("server.servlet.context-path") + "/swagger-ui.html'");
} }
} }
spring.application.name=AIRPORT spring.application.name=AIRPORT
server.servlet.context-path=/airPort
server.port=11000 server.port=11000
spring.profiles.active=dev spring.profiles.active=dev
#swagger开启
#swagger.enable=true
# 是否停用Knife4j文档
knife4j.production=false
knife4j.basic.enable=false
#knife4j.basic.username=jeecg
#knife4j.basic.password=jeecg1314
\ No newline at end of file
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
......
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
......
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
......
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
......
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
......
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
......
...@@ -16,7 +16,6 @@ import org.springframework.context.annotation.ComponentScan; ...@@ -16,7 +16,6 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/** /**
* <pre> * <pre>
...@@ -28,7 +27,6 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -28,7 +27,6 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication @SpringBootApplication
@EnableTransactionManagement @EnableTransactionManagement
@EnableConfigurationProperties @EnableConfigurationProperties
@EnableSwagger2
@ServletComponentScan @ServletComponentScan
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableFeignClients @EnableFeignClients
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
...@@ -9,6 +10,12 @@ ...@@ -9,6 +10,12 @@
<version>1.0.0</version> <version>1.0.0</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<relativePath />
</parent>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
...@@ -16,44 +23,18 @@ ...@@ -16,44 +23,18 @@
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.target>1.8</maven.compiler.target>
<fastjson.version>1.2.75</fastjson.version> <fastjson.version>1.2.75</fastjson.version>
<knife4j-spring-boot-starter.version>2.0.4</knife4j-spring-boot-starter.version> <knife4j-spring-boot-starter.version>2.0.7</knife4j-spring-boot-starter.version>
<knife4j-spring-ui.version>2.0.4</knife4j-spring-ui.version> <springboot.version>2.3.5.RELEASE</springboot.version>
<springboot.version>2.1.6.RELEASE</springboot.version> <springcloud.version>Hoxton.SR8</springcloud.version>
<springcloud.version>Greenwich.SR1</springcloud.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version> <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<tyboot-version>1.1.20Ty-SNAPSHOT</tyboot-version> <tyboot-version>1.1.20Ty-SNAPSHOT</tyboot-version>
<velocity.version>2.1</velocity.version> <velocity.version>2.1</velocity.version>
</properties> </properties>
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://172.16.1.6:8081/nexus/content/repositories/spring.io/</url>
</repository>
<repository>
<id>nexus</id>
<name>Team Nexus Repository</name>
<url>http://172.16.1.6:8081/nexus/content/groups/public</url>
</repository>
<repository>
<id>maven-public</id>
<name>maven-public</name>
<url>http://172.16.1.6:8081/nexus/content/repositories/maven-public/</url>
</repository>
<repository>
<id>maven-public1</id>
<name>maven-public</name>
<url>http://repo.typroject.org:8081/repository/maven-public/</url>
</repository>
<repository>
<id>maven-snapshot</id>
<name>maven-snapshot</name>
<url>http://repo.typroject.org:8081/repository/maven-snapshots/</url>
</repository>
</repositories>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope> <scope>test</scope>
...@@ -398,7 +379,6 @@ ...@@ -398,7 +379,6 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId> <artifactId>spring-boot-starter-websocket</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.typroject</groupId> <groupId>org.typroject</groupId>
<artifactId>tyboot-core-restful</artifactId> <artifactId>tyboot-core-restful</artifactId>
...@@ -408,6 +388,14 @@ ...@@ -408,6 +388,14 @@
<groupId>org.typroject</groupId> <groupId>org.typroject</groupId>
<artifactId>*</artifactId> <artifactId>*</artifactId>
</exclusion> </exclusion>
<exclusion>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</exclusion>
<exclusion>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
...@@ -461,10 +449,33 @@ ...@@ -461,10 +449,33 @@
</dependency> </dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://172.16.1.6:8081/nexus/content/repositories/spring.io/</url>
</repository>
<repository>
<id>nexus</id>
<name>Team Nexus Repository</name>
<url>http://172.16.1.6:8081/nexus/content/groups/public</url>
</repository>
<repository>
<id>maven-public</id>
<name>maven-public</name>
<url>http://172.16.1.6:8081/nexus/content/repositories/maven-public/</url>
</repository>
<repository>
<id>maven-public1</id>
<name>maven-public</name>
<url>http://repo.typroject.org:8081/repository/maven-public/</url>
</repository>
<repository>
<id>maven-snapshot</id>
<name>maven-snapshot</name>
<url>http://repo.typroject.org:8081/repository/maven-snapshots/</url>
</repository>
</repositories>
<build>
</build>
<modules> <modules>
<module>amos-boot-tzs-system</module> <module>amos-boot-tzs-system</module>
<module>amos-boot-jcs-system</module> <module>amos-boot-jcs-system</module>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment