ソースを参照

doc: pipeline swagger

370774330@qq.com 5 年 前
コミット
0478190879

+ 40 - 20
web/src/main/java/seecoder/devcloud/web/controller/pipeline/PipelineController.java

@@ -1,14 +1,22 @@
 package seecoder.devcloud.web.controller.pipeline;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import org.apache.ibatis.annotations.Delete;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import seecoder.devcloud.web.model.vo.Response;
+import seecoder.devcloud.web.model.vo.pipeline.PipelineConfigVO;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineCreateVO;
+import seecoder.devcloud.web.model.vo.pipeline.PipelineHistoryVO;
+import seecoder.devcloud.web.model.vo.pipeline.PipelineInfoVO;
 import seecoder.devcloud.web.service.pipeline.PipelineService;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.PUT;
+import java.util.List;
 
 /**
  * @author PuHong Weng
@@ -17,6 +25,7 @@ import javax.ws.rs.PUT;
  */
 @RestController("/pipelines")
 @ResponseBody
+@Api(value = "流水线配置")
 public class PipelineController {
 
     private final PipelineService pipelineService;
@@ -30,42 +39,51 @@ public class PipelineController {
      * 获取一个项目所有的流水线信息
      */
     @GetMapping("/list")
-    public Response retrievePipelineInfos(@RequestParam("projectId") Integer projectId){
+    @ApiOperation(value = "获取指定一条流水线的配置json信息", httpMethod = "GET")
+    @ApiImplicitParam(name = "projectId", dataType = "int")
+    public Response<List<PipelineInfoVO>> retrievePipelineInfos(@RequestParam("projectId") Integer projectId){
         return Response.buildSuccess(pipelineService.retrievePipelineInfos(projectId));
     }
 
-    /**
-     * 获取指定一条流水线的配置json信息
-     */
     @GetMapping
-    public Response retrievePipelineConfig(@RequestParam("projectId")Integer projectId,
-                                           @RequestParam("pipelineId")Integer pipelineId){
+    @ApiOperation(value = "获取指定一条流水线的配置json信息", httpMethod = "GET")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "projectId", dataType = "int"),
+            @ApiImplicitParam(name = "pipelineId", dataType = "int")
+    })
+    public Response<PipelineConfigVO> retrievePipelineConfig(@RequestParam("projectId")Integer projectId,
+                                                             @RequestParam("pipelineId")Integer pipelineId){
 
         return Response.buildSuccess(pipelineService.retrievePipelineConfig(projectId, pipelineId));
     }
 
-    /**
-     * 获取指定一条流水线的历史构建信息
-     */
     @GetMapping("/history/list")
-    public Response retrievePipelineHistory(@RequestParam("projectId")Integer projectId,
-                                            @RequestParam("pipelineId")Integer pipelineId){
+    @ApiOperation(value = "获取指定一条流水线的历史构建信息列表", httpMethod = "GET")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "projectId", dataType = "int"),
+            @ApiImplicitParam(name = "pipelineId", dataType = "int")
+    })
+    public Response<List<PipelineHistoryVO>> retrievePipelineHistory(@RequestParam("projectId")Integer projectId,
+                                                                     @RequestParam("pipelineId")Integer pipelineId){
         return Response.buildSuccess(pipelineService.retrievePipelineHistory(projectId,pipelineId));
     }
 
-    /**
-     * 依据模板创建一个流水线配置
-     */
+
+    @ApiOperation(value = "依据模板创建一个流水线配置", httpMethod = "POST")
+    @ApiImplicitParam(name = "pipelineCreateVO", value = "流水线创建配置信息",dataType = "PipelineCreateVO")
     @PostMapping
     public Response createPipelineConfig(@RequestBody PipelineCreateVO pipelineCreateVO){
         pipelineService.createPipelineConfig(pipelineCreateVO);
         return Response.buildSuccess();
     }
 
-    /**
-     * 保存一条流水线的配置json信息
-     */
     @PutMapping("/config")
+    @ApiOperation(value = "保存修改一条流水线的json配置信息", httpMethod = "PUT")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "projectId", dataType = "int"),
+            @ApiImplicitParam(name = "pipelineId", dataType = "int"),
+            @ApiImplicitParam(name = "configJson", dataType = "String")
+    })
     public Response savePipelineConfig(@RequestParam("projectId")Integer projectId,
                                        @RequestParam("pipelineId")Integer pipelineId,
                                        @RequestParam("configJson")String configJson){
@@ -74,9 +92,11 @@ public class PipelineController {
         return Response.buildSuccess();
     }
 
-    /**
-     * 删除一条流水线
-     */
+    @ApiOperation(value = "删除一条流水线", httpMethod = "PUT")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "projectId", dataType = "int"),
+            @ApiImplicitParam(name = "pipelineId", dataType = "int"),
+    })
     @DeleteMapping
     public Response deletePipelineInfo(Integer projectId,Integer pipelineId){
         pipelineService.deletePipelineConfig(projectId, pipelineId);

+ 5 - 1
web/src/main/java/seecoder/devcloud/web/model/vo/pipeline/PipelineConfigVO.java

@@ -1,5 +1,7 @@
 package seecoder.devcloud.web.model.vo.pipeline;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.beans.BeanUtils;
 import seecoder.devcloud.web.model.po.pipeline.Pipeline;
@@ -10,11 +12,13 @@ import seecoder.devcloud.web.model.po.pipeline.Pipeline;
  * @description:
  */
 @Data
+@ApiModel("流水线的json配置界面")
 public class PipelineConfigVO {
 
-
+    @ApiModelProperty("流水线id")
     Integer id;
 
+    @ApiModelProperty("流水线配置json")
     String configJson;
 
 

+ 2 - 0
web/src/main/java/seecoder/devcloud/web/model/vo/pipeline/PipelineCreateVO.java

@@ -1,5 +1,6 @@
 package seecoder.devcloud.web.model.vo.pipeline;
 
+import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
 import javax.validation.Valid;
@@ -10,6 +11,7 @@ import javax.validation.Valid;
  * @description:
  */
 @Data
+@ApiModel("流水线创建配置信息")
 public class PipelineCreateVO {
 
     private Integer projectId;

+ 13 - 12
web/src/main/java/seecoder/devcloud/web/model/vo/pipeline/PipelineHistoryVO.java

@@ -1,5 +1,7 @@
 package seecoder.devcloud.web.model.vo.pipeline;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.springframework.beans.BeanUtils;
@@ -14,27 +16,26 @@ import java.sql.Timestamp;
  */
 @Data
 @NoArgsConstructor
+@ApiModel("流水线的一条历史构建记录")
 public class PipelineHistoryVO {
+
+    @ApiModelProperty("流水线构建历史id")
     Integer id;
 
-    /**
-     * 执行开始的时间
-     */
+    @ApiModelProperty("流水线id")
+    Integer pipelineId;
+
+    @ApiModelProperty("构建开始的时间")
     Timestamp startTime;
 
-    /**
-     * 发起执行流水线的人
-     */
+
+    @ApiModelProperty("发起流水线构建的用户名")
     String username;
 
-    /**
-     * 执行结果
-     */
+    @ApiModelProperty("执行结果")
     String result;
 
-    /**
-     * 执行结
-     */
+    @ApiModelProperty("执行结果细节")
     String details;
 
 

+ 10 - 15
web/src/main/java/seecoder/devcloud/web/model/vo/pipeline/PipelineInfoVO.java

@@ -1,5 +1,7 @@
 package seecoder.devcloud.web.model.vo.pipeline;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Builder;
 import lombok.Data;
 import seecoder.devcloud.web.model.po.pipeline.Pipeline;
@@ -14,33 +16,26 @@ import java.sql.Timestamp;
  */
 @Data
 @Builder
+@ApiModel("一条流水线基本信息")
 public class PipelineInfoVO {
 
-    /**
-     * 流水线id
-     */
+
+    @ApiModelProperty("流水线id")
     Integer id;
 
+    @ApiModelProperty("流水线名称")
     String name;
 
-    /**
-     * 最后执行开始的时间
-     */
+    @ApiModelProperty("最后一次执行流水线构建的时间")
     Timestamp startTime;
 
-    /**
-     * 最后发起执行流水线的人
-     */
+    @ApiModelProperty("最后一次发起流水线构建的人")
     String username;
 
-    /**
-     * 最后的执行结果
-     */
+    @ApiModelProperty("最后一次发起流水线构建的执行结果")
     String result;
 
-    /**
-     * 最后的执行结果详情
-     */
+    @ApiModelProperty("最后一次发起流水线构建的执行结果详情")
     String details;
 
     public PipelineInfoVO(Pipeline pipeline, PipelineHistory pipelineHistory){