This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/dev by this push:
     new aa4191fdd [Improve] add interface description and format for 
`AlertController` (#1711)
aa4191fdd is described below

commit aa4191fdde198bedb11a61b8dcae5c0a641c0174
Author: Shaokang Lv <[email protected]>
AuthorDate: Thu Sep 29 15:33:17 2022 +0800

    [Improve] add interface description and format for `AlertController` (#1711)
    
    * [Improve] add restApi description and format for `AlertController`
---
 .../streampark-console-service/pom.xml             | 10 ++--
 .../console/core/bean/AlertConfigWithParams.java   | 13 +++++
 .../console/core/bean/AlertDingTalkParams.java     | 27 ++++------
 .../console/core/bean/AlertEmailParams.java        |  6 ++-
 .../console/core/bean/AlertHttpCallbackParams.java | 20 +++----
 .../console/core/bean/AlertLarkParams.java         | 19 ++++---
 .../console/core/bean/AlertWeComParams.java        |  8 ++-
 .../console/core/controller/AlertController.java   | 62 ++++++++++++++--------
 8 files changed, 100 insertions(+), 65 deletions(-)

diff --git a/streampark-console/streampark-console-service/pom.xml 
b/streampark-console/streampark-console-service/pom.xml
index 7d0393df0..748209f8d 100644
--- a/streampark-console/streampark-console-service/pom.xml
+++ b/streampark-console/streampark-console-service/pom.xml
@@ -32,7 +32,7 @@
     <artifactId>streampark-console-service</artifactId>
     <name>StreamPark : Console Service</name>
 
-    <!-- 定义统一版本号-->
+    <!-- unified define console-service version -->
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
@@ -178,7 +178,7 @@
             <artifactId>spring-boot-starter-cache</artifactId>
         </dependency>
 
-        <!-- aop依赖 -->
+        <!-- aop -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-aop</artifactId>
@@ -203,7 +203,7 @@
             <version>${mybatis-plus.version}</version>
         </dependency>
 
-        <!-- sql 打印 -->
+        <!-- sql print -->
         <dependency>
             <groupId>p6spy</groupId>
             <artifactId>p6spy</artifactId>
@@ -273,7 +273,7 @@
             <version>${xml-apis.version}</version>
         </dependency>
 
-        <!--hadoop-->
+        <!-- hadoop -->
         <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-yarn-client</artifactId>
@@ -357,7 +357,7 @@
             
<artifactId>jackson-module-scala_${scala.binary.version}</artifactId>
         </dependency>
 
-
+        <!-- swagger 2 -->
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger2</artifactId>
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertConfigWithParams.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertConfigWithParams.java
index f1f0786f9..965028e8f 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertConfigWithParams.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertConfigWithParams.java
@@ -21,6 +21,8 @@ import org.apache.streampark.console.base.util.JacksonUtils;
 import org.apache.streampark.console.core.entity.AlertConfig;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -28,25 +30,36 @@ import org.springframework.beans.BeanUtils;
 
 import java.io.Serializable;
 
+@ApiModel(value = "AlertConfig")
 @Data
 @Slf4j
 public class AlertConfigWithParams implements Serializable {
+
+    @ApiModelProperty(name = "id", value = "id")
     private Long id;
 
+    @ApiModelProperty(name = "userId", value = "user id")
     private Long userId;
 
+    @ApiModelProperty(name = "alertName", value = "alert name")
     private String alertName;
 
+    @ApiModelProperty(name = "alertType", value = "alert type")
     private Integer alertType;
 
+    @ApiModelProperty(name = "emailParams", value = "email alert params")
     private AlertEmailParams emailParams;
 
+    @ApiModelProperty(name = "dingTalkParams", value = "ding-talk alert 
params")
     private AlertDingTalkParams dingTalkParams;
 
+    @ApiModelProperty(name = "weComParams", value = "we-com alert params")
     private AlertWeComParams weComParams;
 
+    @ApiModelProperty(name = "httpCallbackParams", value = "http callback 
alert params")
     private AlertHttpCallbackParams httpCallbackParams;
 
+    @ApiModelProperty(name = "larkParams", value = "lark alert params")
     private AlertLarkParams larkParams;
 
     public static AlertConfigWithParams of(AlertConfig config) {
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertDingTalkParams.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertDingTalkParams.java
index 8f1035253..d20e79ea9 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertDingTalkParams.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertDingTalkParams.java
@@ -18,40 +18,35 @@
 package org.apache.streampark.console.core.bean;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
 
 import java.io.Serializable;
 
+@ApiModel(value = "AlertDingTalk")
 @Data
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class AlertDingTalkParams implements Serializable {
-    @NotBlank(message = "The access token of DingTalk must not be empty")
+
+    @ApiModelProperty(name = "token", value = "token")
+    @NotBlank(message = "The access token of DingTalk must be not empty")
     private String token;
 
-    /**
-     * alert phone, separated by ','
-     */
+    @ApiModelProperty(name = "contacts", value = "phone, multiple use ',' 
delimiter")
     private String contacts;
 
-    /**
-     * ding alert url
-     */
+    @ApiModelProperty(name = "alertDingUrl", value = "ding url")
     private String alertDingURL;
 
-    /**
-     * at all
-     */
+    @ApiModelProperty(name = "isAtAll", value = "is @all", example = "false")
     private Boolean isAtAll = false;
 
-    /**
-     * ding robot secret enabled, default false, if enable, need set secret 
token
-     */
+    @ApiModelProperty(name = "secretEnable", value = "is ding robot secret 
enabled", example = "false")
     private Boolean secretEnable = false;
 
-    /**
-     * ding robot webhook secret_token
-     */
+    @ApiModelProperty(name = "secretToken", value = "ding robot webhook secret 
token")
     private String secretToken;
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertEmailParams.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertEmailParams.java
index 3b75beeaa..4569bd9e0 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertEmailParams.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertEmailParams.java
@@ -18,16 +18,20 @@
 package org.apache.streampark.console.core.bean;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
 
 import java.io.Serializable;
 
+@ApiModel(value = "AlertEmail")
 @Data
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class AlertEmailParams implements Serializable {
 
-    @NotBlank(message = "The address of email must not be empty")
+    @ApiModelProperty(name = "contacts", value = "email address")
+    @NotBlank(message = "The address of email must be not empty")
     private String contacts;
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertHttpCallbackParams.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertHttpCallbackParams.java
index c93aa28bc..9dd3ee53d 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertHttpCallbackParams.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertHttpCallbackParams.java
@@ -18,29 +18,29 @@
 package org.apache.streampark.console.core.bean;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
 
 import java.io.Serializable;
 
+@ApiModel(value = "AlertHttpCallback")
 @Data
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class AlertHttpCallbackParams implements Serializable {
-    @NotBlank(message = "The url of alert must not be empty")
+
+    @ApiModelProperty(name = "url", value = "callback url")
+    @NotBlank(message = "The url of callback must be not empty")
     private String url;
-    /**
-     * http request method, default is  POST
-     */
+
+    @ApiModelProperty(name = "method", value = "http method")
     private String method = "POST";
 
-    /**
-     * http request contentType, default is application/json
-     */
+    @ApiModelProperty(name = "contentType", value = "content type", example = 
"application/json")
     private String contentType;
 
-    /**
-     * use freemarker replace the params
-     */
+    @ApiModelProperty(name = "requestTemplate", value = "use freemarker 
template replace the params")
     private String requestTemplate;
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertLarkParams.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertLarkParams.java
index d9cbe1583..8d940c8d0 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertLarkParams.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertLarkParams.java
@@ -18,30 +18,29 @@
 package org.apache.streampark.console.core.bean;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
 
 import java.io.Serializable;
 
+@ApiModel(value = "AlertLark")
 @Data
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class AlertLarkParams implements Serializable {
-    @NotBlank(message = "The access token of Lark must not be empty")
+
+    @ApiModelProperty(name = "token", value = "lark token")
+    @NotBlank(message = "The access token of Lark must be not empty")
     private String token;
 
-    /**
-     * at all
-     */
+    @ApiModelProperty(name = "isAtAll", value = "is @all", example = "false")
     private Boolean isAtAll = false;
 
-    /**
-     * lark robot secret enabled, default false, if enable, need set secret 
token
-     */
+    @ApiModelProperty(name = "secretEnable", value = "is lark robot secret 
enabled", example = "false")
     private Boolean secretEnable = false;
 
-    /**
-     * lark robot webhook secret_token
-     */
+    @ApiModelProperty(name = "secretToken", value = "lark robot webhook secret 
token")
     private String secretToken;
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertWeComParams.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertWeComParams.java
index 8230c38de..6394a1a8b 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertWeComParams.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/AlertWeComParams.java
@@ -18,15 +18,21 @@
 package org.apache.streampark.console.core.bean;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
 
 import java.io.Serializable;
 
+@ApiModel(value = "AlertWeCom")
 @Data
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class AlertWeComParams implements Serializable {
-    @NotBlank(message = "The access token of WeCom must not be empty")
+
+    @ApiModelProperty(name = "token", value = "we-com token")
+    @NotBlank(message = "The access token of WeCom must be not empty")
     private String token;
+
 }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/AlertController.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/AlertController.java
index c8ea74933..55a478f39 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/AlertController.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/AlertController.java
@@ -28,6 +28,10 @@ import 
org.apache.streampark.console.core.service.alert.AlertConfigService;
 import org.apache.streampark.console.core.service.alert.AlertService;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
@@ -43,10 +47,11 @@ import java.util.Date;
 import java.util.List;
 import java.util.TimeZone;
 
+@Api(tags = {"ALERT_TAG"})
 @Slf4j
 @Validated
 @RestController
-@RequestMapping("flink/alert")
+@RequestMapping("/flink/alert")
 public class AlertController {
 
     @Autowired
@@ -55,55 +60,68 @@ public class AlertController {
     @Autowired
     private AlertService alertService;
 
-    @PostMapping(value = "add")
-    public RestResponse addAlertConf(@RequestBody AlertConfigWithParams 
params) {
-        log.info("received alert config:{}", params);
-        AlertConfig alertConfig = AlertConfig.of(params);
-        boolean save = alertConfigService.save(alertConfig);
+    @ApiOperation(value = "createAlertConfig")
+    @PostMapping(value = "/add")
+    public RestResponse createAlertConfig(@RequestBody AlertConfigWithParams 
params) {
+        boolean save = alertConfigService.save(AlertConfig.of(params));
         return RestResponse.success(save);
     }
 
-    @PostMapping(value = "exists")
-    public RestResponse exists(@RequestBody AlertConfigWithParams params) 
throws Exception {
-        AlertConfig alertConfig = AlertConfig.of(params);
-        boolean exist = alertConfigService.exist(alertConfig);
+    @ApiOperation(value = "existsAlertConfig")
+    @PostMapping(value = "/exists")
+    public RestResponse existsAlertConfig(@RequestBody AlertConfigWithParams 
params) {
+        boolean exist = alertConfigService.exist(AlertConfig.of(params));
         return RestResponse.success(exist);
     }
 
-    @PostMapping(value = "update")
-    public RestResponse update(@RequestBody AlertConfigWithParams params) 
throws Exception {
+    @ApiOperation(value = "updateAlertConfig")
+    @PostMapping(value = "/update")
+    public RestResponse updateAlertConfig(@RequestBody AlertConfigWithParams 
params) {
         boolean update = alertConfigService.updateById(AlertConfig.of(params));
         return RestResponse.success(update);
     }
 
-    @PostMapping("get")
-    public RestResponse get(@RequestBody AlertConfigWithParams params) throws 
Exception {
+    @ApiOperation(value = "getAlertConfig")
+    @PostMapping("/get")
+    public RestResponse getAlertConfig(@RequestBody AlertConfigWithParams 
params) {
         AlertConfig alertConfig = alertConfigService.getById(params.getId());
         return RestResponse.success(AlertConfigWithParams.of(alertConfig));
     }
 
-    @PostMapping(value = "list")
-    public RestResponse list(@RequestBody AlertConfigWithParams params, 
RestRequest request) throws Exception {
+    @ApiOperation(value = "listPageAlertConfigs")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "pageSize", value = "page size", required = 
true, example = "10"),
+        @ApiImplicitParam(name = "pageNum", value = "page num", required = 
true, example = "1"),
+        @ApiImplicitParam(name = "sortField", value = "sort field"),
+        @ApiImplicitParam(name = "sortOrder", value = "sort order")
+    })
+    @PostMapping(value = "/list")
+    public RestResponse listPageAlertConfigs(@RequestBody 
AlertConfigWithParams params, RestRequest request) {
         IPage<AlertConfigWithParams> page = alertConfigService.page(params, 
request);
         return RestResponse.success(page);
     }
 
-    @PostMapping(value = "listWithOutPage")
-    public RestResponse listWithOutPage() throws Exception {
+    @ApiOperation(value = "listAlertConfigs")
+    @PostMapping(value = "/listWithOutPage")
+    public RestResponse listAlertConfigs() {
         List<AlertConfig> page = alertConfigService.list();
         return RestResponse.success(page);
     }
 
-    @DeleteMapping("delete")
-    public RestResponse deleteAlertConf(@NotNull(message = "id must not be 
empty") Long id) {
+    @ApiOperation(value = "deleteAlertConfig")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "id", value = "config id", required = true)
+    })
+    @DeleteMapping("/delete")
+    public RestResponse deleteAlertConfig(@NotNull(message = "config id must 
be not null") Long id) {
         boolean result = alertConfigService.deleteById(id);
         return RestResponse.success(result);
     }
 
     /**
-     * send alert message for test
+     * TODO after remove to unit test
      */
-    @PostMapping("send")
+    @PostMapping("/send")
     public RestResponse sendAlert(Long id) throws AlertException {
         AlertTemplate alertTemplate = new AlertTemplate();
         alertTemplate.setTitle("Notify: StreamPark alert job for test");

Reply via email to