From 3e941ea8568072452759480b2e678f097cb45e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=83=88=E6=97=A5=E4=B8=8B=E7=9A=84=E4=BB=8E=E5=AE=B9?= Date: Thu, 19 Sep 2019 11:14:58 +0800 Subject: [PATCH] support swagger api MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 烈日下的从容 --- radar-admin/pom.xml | 9 +++++ .../pgmmers/radar/config/SwaggerConfig.java | 36 +++++++++++++++++++ .../controller/AbstractionApiController.java | 2 ++ .../controller/ActivationApiController.java | 2 ++ .../radar/controller/CommonApiController.java | 2 ++ .../controller/DataListApiController.java | 2 ++ .../controller/DataListMetaApiController.java | 2 ++ .../DataListRecordApiController.java | 2 ++ .../radar/controller/EventApiController.java | 8 +++++ .../radar/controller/FieldApiController.java | 2 ++ .../radar/controller/ModelApiController.java | 2 ++ .../controller/PreItemApiController.java | 2 ++ .../radar/controller/RuleApiController.java | 2 ++ .../controller/SysLoginApiController.java | 2 ++ radar-engine/pom.xml | 6 ++++ .../pgmmers/radar/config/SwaggerConfig.java | 4 +-- 16 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 radar-admin/src/main/java/com/pgmmers/radar/config/SwaggerConfig.java diff --git a/radar-admin/pom.xml b/radar-admin/pom.xml index 9d3a758..4a33b76 100644 --- a/radar-admin/pom.xml +++ b/radar-admin/pom.xml @@ -112,6 +112,15 @@ org.springframework.boot spring-boot-starter-aop + + + io.springfox + springfox-swagger2 + + + io.springfox + springfox-swagger-ui + diff --git a/radar-admin/src/main/java/com/pgmmers/radar/config/SwaggerConfig.java b/radar-admin/src/main/java/com/pgmmers/radar/config/SwaggerConfig.java new file mode 100644 index 0000000..9de0b77 --- /dev/null +++ b/radar-admin/src/main/java/com/pgmmers/radar/config/SwaggerConfig.java @@ -0,0 +1,36 @@ +package com.pgmmers.radar.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +@Configuration +@EnableSwagger2 +public class SwaggerConfig { + + @Bean + public Docket buildDocket(){ + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(buildApiInf()) + .select() + .apis(RequestHandlerSelectors.basePackage("com.pgmmers.radar.controller")) + .paths(PathSelectors.any()) + .build(); + } + + private ApiInfo buildApiInf(){ + return new ApiInfoBuilder() + .title("Risk Admin API") + .description("risk engine api documentation") + .termsOfServiceUrl("http://radar.pgmmer.top") + .contact(new Contact("xwf", "http://radar.pgmmer.top", "xxx@163.com")) + .build(); + } +} \ No newline at end of file diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/AbstractionApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/AbstractionApiController.java index b0e24bc..97dcd78 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/AbstractionApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/AbstractionApiController.java @@ -13,6 +13,7 @@ import com.pgmmers.radar.service.model.PreItemService; import com.pgmmers.radar.vo.model.AbstractionVO; import com.pgmmers.radar.vo.model.FieldVO; import com.pgmmers.radar.vo.model.PreItemVO; +import io.swagger.annotations.Api; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -21,6 +22,7 @@ import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("/services/v1/abstraction") +@Api(value = "AbstractionApi", description = "特征管理相关操作", tags = {"特征API"}) public class AbstractionApiController { @Autowired diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/ActivationApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/ActivationApiController.java index 3d256ad..3459072 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/ActivationApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/ActivationApiController.java @@ -11,6 +11,7 @@ import com.pgmmers.radar.service.engine.vo.DataColumnInfo; import com.pgmmers.radar.service.enums.DataType; import com.pgmmers.radar.service.model.*; import com.pgmmers.radar.vo.model.*; +import io.swagger.annotations.Api; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -19,6 +20,7 @@ import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("/services/v1/activation") +@Api(value = "ActivationApi", description = "策略集管理相关操作", tags = {"策略集API"}) public class ActivationApiController { @Autowired diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/CommonApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/CommonApiController.java index 8aad917..351cbd5 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/CommonApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/CommonApiController.java @@ -7,6 +7,7 @@ import com.pgmmers.radar.service.common.CommonResult; import com.pgmmers.radar.util.RandomValidateCode; import com.pgmmers.radar.vo.common.PluginVO; +import io.swagger.annotations.Api; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -22,6 +23,7 @@ import java.util.List; @RestController @RequestMapping("/services/v1/common") +@Api(value = "CommonApi", description = "公用相关操作", tags = {"公用API"}) public class CommonApiController { public static Logger logger = LoggerFactory.getLogger(CommonApiController.class); diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListApiController.java index cfd3d2a..ebefafb 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListApiController.java @@ -5,11 +5,13 @@ import com.pgmmers.radar.dal.bean.DataListQuery; import com.pgmmers.radar.service.common.CommonResult; import com.pgmmers.radar.service.model.DataListsService; import com.pgmmers.radar.vo.model.DataListsVO; +import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/services/v1/datalist") +@Api(value = "DataListsApi", description = "黑白名单列表接口相关操作", tags = {"数据列表API"}) public class DataListApiController { @Autowired diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListMetaApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListMetaApiController.java index c600e58..1c83295 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListMetaApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListMetaApiController.java @@ -4,12 +4,14 @@ package com.pgmmers.radar.controller; import com.pgmmers.radar.service.common.CommonResult; import com.pgmmers.radar.service.model.DataListsService; import com.pgmmers.radar.vo.model.DataListMetaVO; +import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/services/v1/datalistmeta") +@Api(value = "DataListMetaApi", description = "列表字段接口相关操作", tags = {"列表字段API"}) public class DataListMetaApiController { @Autowired diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListRecordApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListRecordApiController.java index b0e48c7..8813881 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListRecordApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/DataListRecordApiController.java @@ -5,11 +5,13 @@ import com.pgmmers.radar.dal.bean.DataListRecordQuery; import com.pgmmers.radar.service.common.CommonResult; import com.pgmmers.radar.service.model.DataListsService; import com.pgmmers.radar.vo.model.DataListRecordVO; +import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/services/v1/datalistrecord") +@Api(value = "DataListRecordApi", description = "列表内容维护接口相关操作", tags = {"列表内容API"}) public class DataListRecordApiController { @Autowired diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/EventApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/EventApiController.java index 2728acb..7aec65a 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/EventApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/EventApiController.java @@ -21,6 +21,7 @@ import com.pgmmers.radar.vo.model.ActivationVO; import com.pgmmers.radar.vo.model.FieldVO; import com.pgmmers.radar.vo.model.PreItemVO; import com.pgmmers.radar.vo.model.RuleVO; +import io.swagger.annotations.Api; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -35,8 +36,15 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; + +/** + * 以后会独立拆分到分析子项目里面去。 + * @author feihu.wang + */ +@Deprecated @RestController @RequestMapping("/services/v1/event") +@Api(value = "EventApi", description = "事件信息检索接口相关操作", tags = {"事件信息检索分析API"}, hidden = true) public class EventApiController { @Autowired diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/FieldApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/FieldApiController.java index 8c3780b..36d7c1d 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/FieldApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/FieldApiController.java @@ -4,11 +4,13 @@ import com.pgmmers.radar.dal.bean.FieldQuery; import com.pgmmers.radar.service.common.CommonResult; import com.pgmmers.radar.service.model.FieldService; import com.pgmmers.radar.vo.model.FieldVO; +import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/services/v1/field") +@Api(value = "FieldApi", description = "字段管理接口相关操作", tags = {"字段管理API"}) public class FieldApiController { @Autowired diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/ModelApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/ModelApiController.java index 9298427..6335a66 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/ModelApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/ModelApiController.java @@ -7,6 +7,7 @@ import com.pgmmers.radar.service.common.CommonResult; import com.pgmmers.radar.service.model.ModelService; import com.pgmmers.radar.vo.admin.UserVO; import com.pgmmers.radar.vo.model.ModelVO; +import io.swagger.annotations.Api; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -17,6 +18,7 @@ import javax.servlet.http.HttpSession; @RestController @RequestMapping("/services/v1/model") +@Api(value = "ModelApi", description = "模型管理接口相关操作", tags = {"模型API"}) public class ModelApiController { public static Logger logger = LoggerFactory.getLogger(ModelApiController.class); diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/PreItemApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/PreItemApiController.java index fb86436..5498601 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/PreItemApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/PreItemApiController.java @@ -5,11 +5,13 @@ import com.pgmmers.radar.dal.bean.PreItemQuery; import com.pgmmers.radar.service.common.CommonResult; import com.pgmmers.radar.service.model.PreItemService; import com.pgmmers.radar.vo.model.PreItemVO; +import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/services/v1/preitem") +@Api(value = "PreitemApi", description = "预处理接口相关操作", tags = {"预处理API"}) public class PreItemApiController { @Autowired diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/RuleApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/RuleApiController.java index 42df792..6db1071 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/RuleApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/RuleApiController.java @@ -8,6 +8,7 @@ import com.pgmmers.radar.service.model.RuleService; import com.pgmmers.radar.vo.admin.UserVO; import com.pgmmers.radar.vo.model.ModelVO; import com.pgmmers.radar.vo.model.RuleVO; +import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -15,6 +16,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; @RestController @RequestMapping("/services/v1/rule") +@Api(value = "RuleApi", description = "规则管理接口操作", tags = {"规则管理API"}) public class RuleApiController { @Autowired diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/SysLoginApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/SysLoginApiController.java index 8420864..d1d734e 100644 --- a/radar-admin/src/main/java/com/pgmmers/radar/controller/SysLoginApiController.java +++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/SysLoginApiController.java @@ -6,6 +6,7 @@ import com.pgmmers.radar.service.admin.UserService; import com.pgmmers.radar.service.common.CommonResult; import com.pgmmers.radar.util.CryptUtils; import com.pgmmers.radar.vo.admin.UserVO; +import io.swagger.annotations.Api; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -21,6 +22,7 @@ import java.util.Optional; @RestController @RequestMapping("/services/v1") +@Api(value = "SysLoginAPI", description = "用户登录相关操作接口", tags = {"用户登录相关API"}) public class SysLoginApiController { private static final Logger logger = LoggerFactory.getLogger(SysLoginApiController.class); diff --git a/radar-engine/pom.xml b/radar-engine/pom.xml index 8e20834..a910213 100644 --- a/radar-engine/pom.xml +++ b/radar-engine/pom.xml @@ -93,6 +93,12 @@ io.springfox springfox-swagger2 + + + com.google.guava + guava + + io.springfox diff --git a/radar-engine/src/main/java/com/pgmmers/radar/config/SwaggerConfig.java b/radar-engine/src/main/java/com/pgmmers/radar/config/SwaggerConfig.java index 96dbdc4..32bb558 100644 --- a/radar-engine/src/main/java/com/pgmmers/radar/config/SwaggerConfig.java +++ b/radar-engine/src/main/java/com/pgmmers/radar/config/SwaggerConfig.java @@ -29,8 +29,8 @@ public class SwaggerConfig { return new ApiInfoBuilder() .title("Risk Engine API") .description("risk engine api documentation") - .termsOfServiceUrl("http://pgmmer.top") - .contact(new Contact("xxx", "http://pgmmer.top", "xxx@163.com")) + .termsOfServiceUrl("http://radar.pgmmer.top") + .contact(new Contact("xwf", "http://radar.pgmmer.top", "xxx@163.com")) .build(); } } \ No newline at end of file