Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datax-cloud
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄营
datax-cloud
Commits
e184aa9c
Commit
e184aa9c
authored
May 20, 2020
by
yuwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2.0.0项目初始化
parent
d82a9467
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
335 additions
and
0 deletions
+335
-0
pom.xml
datax-common/datax-common-swagger/pom.xml
+32
-0
SwaggerConfig.java
...in/java/cn/datax/common/swagger/config/SwaggerConfig.java
+97
-0
SwaggerProperties.java
...ava/cn/datax/common/swagger/config/SwaggerProperties.java
+202
-0
spring.factories
...mmon-swagger/src/main/resources/META-INF/spring.factories
+2
-0
pom.xml
datax-common/pom.xml
+2
-0
No files found.
datax-common/datax-common-swagger/pom.xml
0 → 100644
View file @
e184aa9c
<?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"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
datax-common
</artifactId>
<groupId>
cn.datax
</groupId>
<version>
2.0.0
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<version>
2.0.0
</version>
<artifactId>
datax-common-swagger
</artifactId>
<dependencies>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger2
</artifactId>
<version>
${swagger2.version}
</version>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-bean-validators
</artifactId>
<version>
${swagger2.version}
</version>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger-ui
</artifactId>
<version>
${swagger2.version}
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
datax-common/datax-common-swagger/src/main/java/cn/datax/common/swagger/config/SwaggerConfig.java
0 → 100644
View file @
e184aa9c
package
cn
.
datax
.
common
.
swagger
.
config
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.context.annotation.Bean
;
import
springfox.documentation.builders.*
;
import
springfox.documentation.schema.ModelRef
;
import
springfox.documentation.service.*
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
java.util.ArrayList
;
import
java.util.List
;
@EnableSwagger2
@ConditionalOnProperty
(
name
=
"swagger.enabled"
,
matchIfMissing
=
true
)
public
class
SwaggerConfig
{
@Bean
@ConditionalOnMissingBean
public
SwaggerProperties
swaggerProperties
()
{
return
new
SwaggerProperties
();
}
/**
* 创建API应用
* apiInfo() 增加API相关信息
* 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
* 本例采用指定扫描的包路径来定义指定要建立API的目录。
*
* @return
*/
@Bean
public
Docket
createRestApi
(
SwaggerProperties
swaggerProperties
){
//版本类型是swagger2
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
host
(
swaggerProperties
.
getHost
())
//通过调用自定义方法apiInfo,获得文档的主要信息
.
apiInfo
(
apiInfo
(
swaggerProperties
))
//设置全局参数
.
globalOperationParameters
(
globalParamBuilder
())
.
select
()
//扫描该包下面的API注解
.
apis
(
RequestHandlerSelectors
.
basePackage
(
swaggerProperties
.
getBasePackage
()))
.
paths
(
PathSelectors
.
any
())
.
build
()
//设置安全认证
.
securitySchemes
(
security
());
}
/**
* 创建该API的基本信息(这些基本信息会展现在文档页面中)
* 访问地址:http://项目实际地址/swagger-ui.html
* @return
*/
private
ApiInfo
apiInfo
(
SwaggerProperties
swaggerProperties
)
{
return
new
ApiInfoBuilder
()
.
title
(
swaggerProperties
.
getTitle
())
.
description
(
swaggerProperties
.
getDescription
())
.
license
(
swaggerProperties
.
getLicense
())
.
licenseUrl
(
swaggerProperties
.
getLicenseUrl
())
.
termsOfServiceUrl
(
swaggerProperties
.
getTermsOfServiceUrl
())
.
contact
(
new
Contact
(
swaggerProperties
.
getContact
().
getName
(),
swaggerProperties
.
getContact
().
getUrl
(),
swaggerProperties
.
getContact
().
getEmail
()))
.
version
(
swaggerProperties
.
getVersion
())
.
build
();
}
/**
* 安全认证参数
* @return
*/
private
List
<
ApiKey
>
security
()
{
List
<
ApiKey
>
apiKeys
=
new
ArrayList
<>();
apiKeys
.
add
(
new
ApiKey
(
"Authorization"
,
"Authorization"
,
"header"
));
return
apiKeys
;
}
/**
* 构建全局参数列表
* @return
*/
private
List
<
Parameter
>
globalParamBuilder
(){
List
<
Parameter
>
pars
=
new
ArrayList
<>();
pars
.
add
(
parameterBuilder
(
"Authorization"
,
"令牌"
,
"string"
,
"header"
,
false
).
build
());
return
pars
;
}
/**
* 创建参数
* @return
*/
private
ParameterBuilder
parameterBuilder
(
String
name
,
String
desc
,
String
type
,
String
parameterType
,
boolean
required
)
{
ParameterBuilder
tokenPar
=
new
ParameterBuilder
();
tokenPar
.
name
(
name
).
description
(
desc
).
modelRef
(
new
ModelRef
(
type
)).
parameterType
(
parameterType
).
required
(
required
).
build
();
return
tokenPar
;
}
}
datax-common/datax-common-swagger/src/main/java/cn/datax/common/swagger/config/SwaggerProperties.java
0 → 100644
View file @
e184aa9c
package
cn
.
datax
.
common
.
swagger
.
config
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.stereotype.Component
;
@Component
@ConfigurationProperties
(
"swagger"
)
public
class
SwaggerProperties
{
/**
* 是否开启swagger
*/
private
Boolean
enabled
;
/**
* swagger会解析的包路径
**/
private
String
basePackage
=
""
;
/**
* 标题
**/
private
String
title
=
""
;
/**
* 描述
**/
private
String
description
=
""
;
/**
* 版本
**/
private
String
version
=
""
;
/**
* 许可证
**/
private
String
license
=
""
;
/**
* 许可证URL
**/
private
String
licenseUrl
=
""
;
/**
* 服务条款URL
**/
private
String
termsOfServiceUrl
=
""
;
/**
* host信息
**/
private
String
host
=
""
;
/**
* 联系人信息
*/
private
Contact
contact
=
new
Contact
();
public
Boolean
getEnabled
()
{
return
enabled
;
}
public
void
setEnabled
(
Boolean
enabled
)
{
this
.
enabled
=
enabled
;
}
public
String
getBasePackage
()
{
return
basePackage
;
}
public
void
setBasePackage
(
String
basePackage
)
{
this
.
basePackage
=
basePackage
;
}
public
String
getTitle
()
{
return
title
;
}
public
void
setTitle
(
String
title
)
{
this
.
title
=
title
;
}
public
String
getDescription
()
{
return
description
;
}
public
void
setDescription
(
String
description
)
{
this
.
description
=
description
;
}
public
String
getVersion
()
{
return
version
;
}
public
void
setVersion
(
String
version
)
{
this
.
version
=
version
;
}
public
String
getLicense
()
{
return
license
;
}
public
void
setLicense
(
String
license
)
{
this
.
license
=
license
;
}
public
String
getLicenseUrl
()
{
return
licenseUrl
;
}
public
void
setLicenseUrl
(
String
licenseUrl
)
{
this
.
licenseUrl
=
licenseUrl
;
}
public
String
getTermsOfServiceUrl
()
{
return
termsOfServiceUrl
;
}
public
void
setTermsOfServiceUrl
(
String
termsOfServiceUrl
)
{
this
.
termsOfServiceUrl
=
termsOfServiceUrl
;
}
public
String
getHost
()
{
return
host
;
}
public
void
setHost
(
String
host
)
{
this
.
host
=
host
;
}
public
Contact
getContact
()
{
return
contact
;
}
public
void
setContact
(
Contact
contact
)
{
this
.
contact
=
contact
;
}
public
static
class
Contact
{
/**
* 联系人
**/
private
String
name
=
""
;
/**
* 联系人url
**/
private
String
url
=
""
;
/**
* 联系人email
**/
private
String
email
=
""
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getUrl
()
{
return
url
;
}
public
void
setUrl
(
String
url
)
{
this
.
url
=
url
;
}
public
String
getEmail
()
{
return
email
;
}
public
void
setEmail
(
String
email
)
{
this
.
email
=
email
;
}
}
}
\ No newline at end of file
datax-common/datax-common-swagger/src/main/resources/META-INF/spring.factories
0 → 100644
View file @
e184aa9c
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
cn.datax.common.swagger.config.SwaggerConfig
datax-common/pom.xml
View file @
e184aa9c
...
...
@@ -23,5 +23,6 @@
<module>
datax-common-dictionary
</module>
<module>
datax-common-qrcode
</module>
<module>
datax-common-jasperreport
</module>
<module>
datax-common-swagger
</module>
</modules>
</project>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment