You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2022/07/07 03:44:48 UTC

[inlong] branch master updated: [INLONG-4900][Manager] Modify the request address of the API for quick search (#4901)

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

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new d01e212e2 [INLONG-4900][Manager] Modify the request address of the API for quick search (#4901)
d01e212e2 is described below

commit d01e212e2b2c25afe83fc6815c6c52b9ee9a3115
Author: ciscozhou <45...@users.noreply.github.com>
AuthorDate: Thu Jul 7 11:44:42 2022 +0800

    [INLONG-4900][Manager] Modify the request address of the API for quick search (#4901)
---
 .../manager/web/controller/AnnoController.java     | 12 +++---
 .../manager/web/controller/AuditController.java    | 13 +++----
 .../web/controller/ConsumptionController.java      | 18 ++++-----
 .../manager/web/controller/DataNodeController.java | 14 +++----
 .../web/controller/HeartbeatController.java        | 13 +++----
 .../web/controller/InlongGroupController.java      | 39 +++++++++----------
 .../web/controller/InlongStreamController.java     | 45 +++++++++++-----------
 .../controller/StreamConfigLogWebController.java   |  7 ++--
 .../web/controller/StreamSinkController.java       | 11 +++---
 .../web/controller/StreamSourceController.java     | 11 +++---
 .../web/controller/StreamTransformController.java  | 11 ++----
 .../manager/web/controller/UserController.java     | 18 ++++-----
 .../web/controller/WorkflowApproverController.java | 16 ++++----
 .../manager/web/controller/WorkflowController.java | 30 +++++++--------
 .../web/controller/WorkflowEventController.java    | 20 +++++-----
 .../web/controller/openapi/AgentController.java    |  4 +-
 .../controller/openapi/DBCollectorController.java  |  2 +-
 .../controller/openapi/DataProxyController.java    |  4 +-
 .../controller/openapi/OpenClusterController.java  |  6 +--
 .../openapi/OpenHeartbeatController.java           |  4 +-
 .../web/controller/openapi/SortController.java     |  8 ++--
 .../openapi/StreamConfigLogController.java         |  6 +--
 22 files changed, 145 insertions(+), 167 deletions(-)

diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/AnnoController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/AnnoController.java
index 6840f118e..cd7181667 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/AnnoController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/AnnoController.java
@@ -33,22 +33,20 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
- * Anno controller.
+ * Anno controller, such as login, register, etc.
  */
 @Slf4j
 @RestController
-@RequestMapping("/anno")
-@Api(tags = "User - Anno (No Auth)")
+@Api(tags = "User-Anno-API")
 public class AnnoController {
 
     @Autowired
     UserService userService;
 
-    @PostMapping("/login")
+    @PostMapping("/anno/login")
     public Response<String> login(@Validated @RequestBody LoginUser loginUser) {
 
         Subject subject = SecurityUtils.getSubject();
@@ -59,12 +57,12 @@ public class AnnoController {
         return Response.success("success");
     }
 
-    @PostMapping("/doRegister")
+    @PostMapping("/anno/doRegister")
     public Response<Boolean> doRegister(@Validated @RequestBody UserInfo userInfo) {
         return Response.success(userService.create(userInfo));
     }
 
-    @GetMapping("/logout")
+    @GetMapping("/anno/logout")
     public Response<String> logout() {
         SecurityUtils.getSubject().logout();
         return Response.success("success");
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/AuditController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/AuditController.java
index a1a232423..05383711b 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/AuditController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/AuditController.java
@@ -19,30 +19,29 @@ package org.apache.inlong.manager.web.controller;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import java.io.IOException;
-import java.util.List;
-import javax.validation.Valid;
 import org.apache.inlong.manager.common.beans.Response;
 import org.apache.inlong.manager.common.pojo.audit.AuditRequest;
 import org.apache.inlong.manager.common.pojo.audit.AuditVO;
 import org.apache.inlong.manager.service.core.AuditService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+
 /**
  * Audit controller.
  */
 @RestController
-@RequestMapping("/audit")
-@Api(tags = "Audit")
+@Api(tags = "Audit-API")
 public class AuditController {
 
     @Autowired
     private AuditService auditService;
 
-    @GetMapping(value = "/list")
+    @GetMapping(value = "/audit/list")
     @ApiOperation(value = "Query audit list according to conditions")
     public Response<List<AuditVO>> listByCondition(@Valid AuditRequest request) throws IOException {
         return Response.success(auditService.listByCondition(request));
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/ConsumptionController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/ConsumptionController.java
index 8501bb4f8..60796cdeb 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/ConsumptionController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/ConsumptionController.java
@@ -39,15 +39,13 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
  * Data consumption interface
  */
 @RestController
-@RequestMapping("/consumption")
-@Api(tags = "Data Consumption")
+@Api(tags = "Consumption-API")
 public class ConsumptionController {
 
     @Autowired
@@ -55,28 +53,28 @@ public class ConsumptionController {
     @Autowired
     private ConsumptionProcessOperation processOperation;
 
-    @GetMapping("/summary")
+    @GetMapping("/consumption/summary")
     @ApiOperation(value = "Get data consumption summary")
     public Response<ConsumptionSummary> getSummary(ConsumptionQuery query) {
         query.setUsername(LoginUserUtils.getLoginUserDetail().getUsername());
         return Response.success(consumptionService.getSummary(query));
     }
 
-    @GetMapping("/list")
+    @GetMapping("/consumption/list")
     @ApiOperation(value = "List data consumptions")
     public Response<PageInfo<ConsumptionListVo>> list(ConsumptionQuery query) {
         query.setUsername(LoginUserUtils.getLoginUserDetail().getUsername());
         return Response.success(consumptionService.list(query));
     }
 
-    @GetMapping("/get/{id}")
+    @GetMapping("/consumption/get/{id}")
     @ApiOperation(value = "Get consumption details")
     @ApiImplicitParam(name = "id", value = "Consumption ID", dataTypeClass = Integer.class, required = true)
     public Response<ConsumptionInfo> getDetail(@PathVariable(name = "id") Integer id) {
         return Response.success(consumptionService.get(id));
     }
 
-    @DeleteMapping("/delete/{id}")
+    @DeleteMapping("/consumption/delete/{id}")
     @OperationLog(operation = OperationType.DELETE)
     @ApiOperation(value = "Delete data consumption")
     @ApiImplicitParam(name = "id", value = "Consumption ID", dataTypeClass = Integer.class, required = true)
@@ -85,7 +83,7 @@ public class ConsumptionController {
         return Response.success();
     }
 
-    @PostMapping("/save")
+    @PostMapping("/consumption/save")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Save data consumption", notes = "Full coverage")
     public Response<Integer> save(@Validated @RequestBody ConsumptionInfo consumptionInfo) {
@@ -93,7 +91,7 @@ public class ConsumptionController {
         return Response.success(consumptionService.save(consumptionInfo, currentUser));
     }
 
-    @PostMapping("/update/{id}")
+    @PostMapping("/consumption/update/{id}")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Update data consumption")
     public Response<String> update(@PathVariable(name = "id") Integer id,
@@ -103,7 +101,7 @@ public class ConsumptionController {
         return Response.success();
     }
 
-    @PostMapping("/startProcess/{id}")
+    @PostMapping("/consumption/startProcess/{id}")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Start approval process")
     @ApiImplicitParam(name = "id", value = "Consumption ID", dataTypeClass = Integer.class, required = true)
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/DataNodeController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/DataNodeController.java
index 41ca7e5d0..93a0d074b 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/DataNodeController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/DataNodeController.java
@@ -39,21 +39,19 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
  * Data node controller
  */
 @RestController
-@RequestMapping("/node")
 @Api(tags = "Data-Node-API")
 public class DataNodeController {
 
     @Autowired
     private DataNodeService dataNodeService;
 
-    @PostMapping(value = "/save")
+    @PostMapping(value = "/node/save")
     @ApiOperation(value = "Save node")
     @OperationLog(operation = OperationType.CREATE)
     @RequiresRoles(value = UserRoleCode.ADMIN)
@@ -62,20 +60,20 @@ public class DataNodeController {
         return Response.success(dataNodeService.save(request, currentUser));
     }
 
-    @GetMapping(value = "/get/{id}")
+    @GetMapping(value = "/node/get/{id}")
     @ApiOperation(value = "Get node by id")
     @ApiImplicitParam(name = "id", value = "data node ID", dataTypeClass = Integer.class, required = true)
     public Response<DataNodeResponse> get(@PathVariable Integer id) {
         return Response.success(dataNodeService.get(id));
     }
 
-    @PostMapping(value = "/list")
+    @PostMapping(value = "/node/list")
     @ApiOperation(value = "List data node")
     public Response<PageInfo<DataNodeResponse>> list(@RequestBody DataNodePageRequest request) {
         return Response.success(dataNodeService.list(request));
     }
 
-    @PostMapping(value = "/update")
+    @PostMapping(value = "/node/update")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Update data node")
     public Response<Boolean> update(@Validated(UpdateValidation.class) @RequestBody DataNodeRequest request) {
@@ -83,7 +81,7 @@ public class DataNodeController {
         return Response.success(dataNodeService.update(request, username));
     }
 
-    @DeleteMapping(value = "/delete/{id}")
+    @DeleteMapping(value = "/node/delete/{id}")
     @ApiOperation(value = "Delete data node by id")
     @OperationLog(operation = OperationType.DELETE)
     @ApiImplicitParam(name = "id", value = "Data node ID", dataTypeClass = Integer.class, required = true)
@@ -92,7 +90,7 @@ public class DataNodeController {
         return Response.success(dataNodeService.delete(id, LoginUserUtils.getLoginUserDetail().getUsername()));
     }
 
-    @PostMapping("/testConnection")
+    @PostMapping("/node/testConnection")
     @ApiOperation(value = "Test connection for data node")
     public Response<Boolean> testConnection(@Validated @RequestBody DataNodeRequest request) {
         return Response.success(dataNodeService.testConnection(request));
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/HeartbeatController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/HeartbeatController.java
index 9eba55282..40b353c94 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/HeartbeatController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/HeartbeatController.java
@@ -37,45 +37,44 @@ import org.springframework.web.bind.annotation.RestController;
  * Heartbeat controller.
  */
 @RestController
-@RequestMapping("/heartbeat")
 @Api(tags = "Heartbeat-API")
 public class HeartbeatController {
 
     @Autowired
     private HeartbeatService heartbeatService;
 
-    @RequestMapping(value = "/component/get", method = RequestMethod.POST)
+    @RequestMapping(value = "/heartbeat/component/get", method = RequestMethod.POST)
     @ApiOperation(value = "Get component heartbeat")
     public Response<ComponentHeartbeatResponse> getComponentHeartbeat(@RequestBody HeartbeatQueryRequest request) {
         return Response.success(heartbeatService.getComponentHeartbeat(request));
     }
 
-    @RequestMapping(value = "/group/get", method = RequestMethod.POST)
+    @RequestMapping(value = "/heartbeat/group/get", method = RequestMethod.POST)
     @ApiOperation(value = "Get group heartbeat")
     public Response<GroupHeartbeatResponse> getGroupHeartbeat(@RequestBody HeartbeatQueryRequest request) {
         return Response.success(heartbeatService.getGroupHeartbeat(request));
     }
 
-    @RequestMapping(value = "/stream/get", method = RequestMethod.POST)
+    @RequestMapping(value = "/heartbeat/stream/get", method = RequestMethod.POST)
     @ApiOperation(value = "Get stream heartbeat")
     public Response<StreamHeartbeatResponse> getStreamHeartbeat(@RequestBody HeartbeatQueryRequest request) {
         return Response.success(heartbeatService.getStreamHeartbeat(request));
     }
 
-    @RequestMapping(value = "/component/list", method = RequestMethod.POST)
+    @RequestMapping(value = "/heartbeat/component/list", method = RequestMethod.POST)
     @ApiOperation(value = "List component heartbeats")
     public Response<PageInfo<ComponentHeartbeatResponse>> listComponentHeartbeat(
             @RequestBody HeartbeatPageRequest request) {
         return Response.success(heartbeatService.listComponentHeartbeat(request));
     }
 
-    @RequestMapping(value = "/group/list", method = RequestMethod.POST)
+    @RequestMapping(value = "/heartbeat/group/list", method = RequestMethod.POST)
     @ApiOperation(value = "List group heartbeats")
     public Response<PageInfo<GroupHeartbeatResponse>> listGroupHeartbeat(@RequestBody HeartbeatPageRequest request) {
         return Response.success(heartbeatService.listGroupHeartbeat(request));
     }
 
-    @RequestMapping(value = "/stream/list", method = RequestMethod.POST)
+    @RequestMapping(value = "/heartbeat/stream/list", method = RequestMethod.POST)
     @ApiOperation(value = "List stream heartbeats")
     public Response<PageInfo<StreamHeartbeatResponse>> listStreamHeartbeat(@RequestBody HeartbeatPageRequest request) {
         return Response.success(heartbeatService.listStreamHeartbeat(request));
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongGroupController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongGroupController.java
index 6429b03ba..abb49f364 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongGroupController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongGroupController.java
@@ -50,7 +50,6 @@ import org.springframework.web.bind.annotation.RestController;
  * Inlong group control layer
  */
 @RestController
-@RequestMapping("/group")
 @Api(tags = "Inlong-Group-API")
 public class InlongGroupController {
 
@@ -59,22 +58,22 @@ public class InlongGroupController {
     @Autowired
     private InlongGroupProcessOperation groupProcessOperation;
 
-    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @RequestMapping(value = "/group/save", method = RequestMethod.POST)
     @OperationLog(operation = OperationType.CREATE)
-    @ApiOperation(value = "Save inlong group info")
+    @ApiOperation(value = "Save inlong group")
     public Response<String> save(@Validated @RequestBody InlongGroupRequest groupRequest) {
         String operator = LoginUserUtils.getLoginUserDetail().getUsername();
         return Response.success(groupService.save(groupRequest, operator));
     }
 
-    @RequestMapping(value = "/get/{groupId}", method = RequestMethod.GET)
-    @ApiOperation(value = "Get inlong group info")
+    @RequestMapping(value = "/group/get/{groupId}", method = RequestMethod.GET)
+    @ApiOperation(value = "Get inlong group")
     @ApiImplicitParam(name = "groupId", value = "Inlong group id", dataTypeClass = String.class, required = true)
     public Response<InlongGroupInfo> get(@PathVariable String groupId) {
         return Response.success(groupService.get(groupId));
     }
 
-    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    @RequestMapping(value = "/group/list", method = RequestMethod.POST)
     @ApiOperation(value = "Get inlong group list by paginating")
     public Response<PageInfo<InlongGroupListResponse>> listByCondition(@RequestBody InlongGroupPageRequest request) {
         request.setCurrentUser(LoginUserUtils.getLoginUserDetail().getUsername());
@@ -82,29 +81,29 @@ public class InlongGroupController {
         return Response.success(groupService.listByPage(request));
     }
 
-    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @RequestMapping(value = "/group/update", method = RequestMethod.POST)
     @OperationLog(operation = OperationType.UPDATE)
-    @ApiOperation(value = "Update inlong group info")
+    @ApiOperation(value = "Update inlong group")
     public Response<String> update(@Validated(UpdateValidation.class) @RequestBody InlongGroupRequest groupRequest) {
         String operator = LoginUserUtils.getLoginUserDetail().getUsername();
         return Response.success(groupService.update(groupRequest, operator));
     }
 
-    @RequestMapping(value = "/exist/{groupId}", method = RequestMethod.GET)
-    @ApiOperation(value = "Is exists of the inlong group id")
+    @RequestMapping(value = "/group/exist/{groupId}", method = RequestMethod.GET)
+    @ApiOperation(value = "Is the inlong group id exists")
     @ApiImplicitParam(name = "groupId", value = "Inlong group id", dataTypeClass = String.class, required = true)
     public Response<Boolean> exist(@PathVariable String groupId) {
         return Response.success(groupService.exist(groupId));
     }
 
-    @RequestMapping(value = "/countByStatus", method = RequestMethod.GET)
+    @RequestMapping(value = "/group/countByStatus", method = RequestMethod.GET)
     @ApiOperation(value = "Count inlong group status for current user")
     public Response<InlongGroupCountResponse> countGroupByUser() {
         String operator = LoginUserUtils.getLoginUserDetail().getUsername();
         return Response.success(groupService.countGroupByUser(operator));
     }
 
-    @RequestMapping(value = "/startProcess/{groupId}", method = RequestMethod.POST)
+    @RequestMapping(value = "/group/startProcess/{groupId}", method = RequestMethod.POST)
     @ApiOperation(value = "Start inlong approval process")
     @ApiImplicitParam(name = "groupId", value = "Inlong group id", dataTypeClass = String.class)
     public Response<WorkflowResult> startProcess(@PathVariable String groupId) {
@@ -112,7 +111,7 @@ public class InlongGroupController {
         return Response.success(groupProcessOperation.startProcess(groupId, operator));
     }
 
-    @RequestMapping(value = "/suspendProcess/{groupId}", method = RequestMethod.POST)
+    @RequestMapping(value = "/group/suspendProcess/{groupId}", method = RequestMethod.POST)
     @ApiOperation(value = "Suspend inlong group process")
     @ApiImplicitParam(name = "groupId", value = "Inlong group id", dataTypeClass = String.class)
     public Response<WorkflowResult> suspendProcess(@PathVariable String groupId) {
@@ -120,7 +119,7 @@ public class InlongGroupController {
         return Response.success(groupProcessOperation.suspendProcess(groupId, operator));
     }
 
-    @RequestMapping(value = "/restartProcess/{groupId}", method = RequestMethod.POST)
+    @RequestMapping(value = "/group/restartProcess/{groupId}", method = RequestMethod.POST)
     @ApiOperation(value = "Restart inlong group process")
     @ApiImplicitParam(name = "groupId", value = "Inlong group id", dataTypeClass = String.class)
     public Response<WorkflowResult> restartProcess(@PathVariable String groupId) {
@@ -128,7 +127,7 @@ public class InlongGroupController {
         return Response.success(groupProcessOperation.restartProcess(groupId, operator));
     }
 
-    @RequestMapping(value = "/delete/{groupId}", method = RequestMethod.DELETE)
+    @RequestMapping(value = "/group/delete/{groupId}", method = RequestMethod.DELETE)
     @ApiOperation(value = "Delete inlong group info")
     @OperationLog(operation = OperationType.DELETE)
     @ApiImplicitParam(name = "groupId", value = "Inlong group id", dataTypeClass = String.class, required = true)
@@ -137,7 +136,7 @@ public class InlongGroupController {
         return Response.success(groupProcessOperation.deleteProcess(groupId, operator));
     }
 
-    @RequestMapping(value = "/suspendProcessAsync/{groupId}", method = RequestMethod.POST)
+    @RequestMapping(value = "/group/suspendProcessAsync/{groupId}", method = RequestMethod.POST)
     @ApiOperation(value = "Suspend inlong group process")
     @ApiImplicitParam(name = "groupId", value = "Inlong group id", dataTypeClass = String.class)
     public Response<String> suspendProcessAsync(@PathVariable String groupId) {
@@ -145,7 +144,7 @@ public class InlongGroupController {
         return Response.success(groupProcessOperation.suspendProcessAsync(groupId, operator));
     }
 
-    @RequestMapping(value = "/restartProcessAsync/{groupId}", method = RequestMethod.POST)
+    @RequestMapping(value = "/group/restartProcessAsync/{groupId}", method = RequestMethod.POST)
     @ApiOperation(value = "Restart inlong group process")
     @ApiImplicitParam(name = "groupId", value = "Inlong group id", dataTypeClass = String.class)
     public Response<String> restartProcessAsync(@PathVariable String groupId) {
@@ -153,7 +152,7 @@ public class InlongGroupController {
         return Response.success(groupProcessOperation.restartProcessAsync(groupId, operator));
     }
 
-    @RequestMapping(value = "/deleteAsync/{groupId}", method = RequestMethod.DELETE)
+    @RequestMapping(value = "/group/deleteAsync/{groupId}", method = RequestMethod.DELETE)
     @ApiOperation(value = "Delete inlong group info")
     @OperationLog(operation = OperationType.DELETE)
     @ApiImplicitParam(name = "groupId", value = "Inlong group id", dataTypeClass = String.class, required = true)
@@ -162,13 +161,13 @@ public class InlongGroupController {
         return Response.success(groupProcessOperation.deleteProcessAsync(groupId, operator));
     }
 
-    @RequestMapping(value = "/getTopic/{groupId}", method = RequestMethod.GET)
+    @RequestMapping(value = "/group/getTopic/{groupId}", method = RequestMethod.GET)
     @ApiOperation(value = "Get topic info")
     public Response<InlongGroupTopicInfo> getTopic(@PathVariable String groupId) {
         return Response.success(groupService.getTopic(groupId));
     }
 
-    @PostMapping(value = "/reset")
+    @PostMapping(value = "/group/reset")
     @ApiOperation(value = "Reset group status when group is in CONFIG_ING|SUSPENDING|RESTARTING|DELETING")
     public Response<Boolean> reset(@RequestBody @Validated InlongGroupResetRequest request) {
         String operator = LoginUserUtils.getLoginUserDetail().getUsername();
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongStreamController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongStreamController.java
index 895a1fd63..478a7c0f5 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongStreamController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongStreamController.java
@@ -49,7 +49,6 @@ import java.util.List;
  * Inlong stream control layer
  */
 @RestController
-@RequestMapping("/stream")
 @Api(tags = "Inlong-Stream-API")
 public class InlongStreamController {
 
@@ -58,16 +57,16 @@ public class InlongStreamController {
     @Autowired
     private InlongStreamProcessOperation streamProcessOperation;
 
-    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @RequestMapping(value = "/stream/save", method = RequestMethod.POST)
     @OperationLog(operation = OperationType.CREATE)
-    @ApiOperation(value = "Save inlong stream info")
+    @ApiOperation(value = "Save inlong stream")
     public Response<Integer> save(@RequestBody InlongStreamRequest request) {
         int result = streamService.save(request, LoginUserUtils.getLoginUserDetail().getUsername());
         return Response.success(result);
     }
 
-    @RequestMapping(value = "/exist/{groupId}/{streamId}", method = RequestMethod.GET)
-    @ApiOperation(value = "Is exists of the inlong stream")
+    @RequestMapping(value = "/stream/exist/{groupId}/{streamId}", method = RequestMethod.GET)
+    @ApiOperation(value = "Is the inlong stream exists")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "groupId", dataTypeClass = String.class, required = true),
             @ApiImplicitParam(name = "streamId", dataTypeClass = String.class, required = true)
@@ -76,8 +75,8 @@ public class InlongStreamController {
         return Response.success(streamService.exist(groupId, streamId));
     }
 
-    @RequestMapping(value = "/get", method = RequestMethod.GET)
-    @ApiOperation(value = "Get inlong stream info")
+    @RequestMapping(value = "/stream/get", method = RequestMethod.GET)
+    @ApiOperation(value = "Get inlong stream")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "groupId", dataTypeClass = String.class, required = true),
             @ApiImplicitParam(name = "streamId", dataTypeClass = String.class, required = true)
@@ -86,7 +85,7 @@ public class InlongStreamController {
         return Response.success(streamService.get(groupId, streamId).genResponse());
     }
 
-    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    @RequestMapping(value = "/stream/list", method = RequestMethod.POST)
     @ApiOperation(value = "Get inlong stream by paginating")
     public Response<PageInfo<InlongStreamListResponse>> listByCondition(@RequestBody InlongStreamPageRequest request) {
         request.setCurrentUser(LoginUserUtils.getLoginUserDetail().getUsername());
@@ -94,24 +93,24 @@ public class InlongStreamController {
         return Response.success(streamService.listByCondition(request));
     }
 
-    @RequestMapping(value = "/listAll", method = RequestMethod.POST)
-    @ApiOperation(value = "Get inlong stream info by paginating")
+    @RequestMapping(value = "/stream/listAll", method = RequestMethod.POST)
+    @ApiOperation(value = "Get inlong stream with all info by paginating")
     public Response<PageInfo<InlongStreamInfo>> listAllWithGroupId(@RequestBody InlongStreamPageRequest request) {
         request.setCurrentUser(LoginUserUtils.getLoginUserDetail().getUsername());
         request.setIsAdminRole(LoginUserUtils.getLoginUserDetail().getRoles().contains(UserRoleCode.ADMIN));
         return Response.success(streamService.listAllWithGroupId(request));
     }
 
-    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @RequestMapping(value = "/stream/update", method = RequestMethod.POST)
     @OperationLog(operation = OperationType.UPDATE)
-    @ApiOperation(value = "Update inlong stream info")
+    @ApiOperation(value = "Update inlong stream")
     public Response<Boolean> update(@RequestBody InlongStreamRequest request) {
         String username = LoginUserUtils.getLoginUserDetail().getUsername();
         return Response.success(streamService.update(request, username));
     }
 
-    @RequestMapping(value = "/startProcess/{groupId}/{streamId}", method = RequestMethod.POST)
-    @ApiOperation(value = "Start inlong stream")
+    @RequestMapping(value = "/stream/startProcess/{groupId}/{streamId}", method = RequestMethod.POST)
+    @ApiOperation(value = "Start inlong stream process")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "groupId", dataTypeClass = String.class, required = true),
             @ApiImplicitParam(name = "streamId", dataTypeClass = String.class, required = true)
@@ -122,8 +121,8 @@ public class InlongStreamController {
         return Response.success(streamProcessOperation.startProcess(groupId, streamId, operator, sync));
     }
 
-    @RequestMapping(value = "/suspendProcess/{groupId}/{streamId}", method = RequestMethod.POST)
-    @ApiOperation(value = "Suspend inlong stream")
+    @RequestMapping(value = "/stream/suspendProcess/{groupId}/{streamId}", method = RequestMethod.POST)
+    @ApiOperation(value = "Suspend inlong stream process")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "groupId", dataTypeClass = String.class, required = true),
             @ApiImplicitParam(name = "streamId", dataTypeClass = String.class, required = true)
@@ -134,8 +133,8 @@ public class InlongStreamController {
         return Response.success(streamProcessOperation.suspendProcess(groupId, streamId, operator, sync));
     }
 
-    @RequestMapping(value = "/restartProcess/{groupId}/{streamId}", method = RequestMethod.POST)
-    @ApiOperation(value = "Restart inlong stream")
+    @RequestMapping(value = "/stream/restartProcess/{groupId}/{streamId}", method = RequestMethod.POST)
+    @ApiOperation(value = "Restart inlong stream process")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "groupId", dataTypeClass = String.class, required = true),
             @ApiImplicitParam(name = "streamId", dataTypeClass = String.class, required = true)
@@ -146,8 +145,8 @@ public class InlongStreamController {
         return Response.success(streamProcessOperation.restartProcess(groupId, streamId, operator, sync));
     }
 
-    @RequestMapping(value = "/deleteProcess/{groupId}/{streamId}", method = RequestMethod.POST)
-    @ApiOperation(value = "Delete inlong stream")
+    @RequestMapping(value = "/stream/deleteProcess/{groupId}/{streamId}", method = RequestMethod.POST)
+    @ApiOperation(value = "Delete inlong stream process")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "groupId", dataTypeClass = String.class, required = true),
             @ApiImplicitParam(name = "streamId", dataTypeClass = String.class, required = true)
@@ -159,9 +158,9 @@ public class InlongStreamController {
     }
 
     @Deprecated
-    @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
+    @RequestMapping(value = "/stream/delete", method = RequestMethod.DELETE)
     @OperationLog(operation = OperationType.DELETE)
-    @ApiOperation(value = "Delete inlong stream info")
+    @ApiOperation(value = "Delete inlong stream")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "groupId", dataTypeClass = String.class, required = true),
             @ApiImplicitParam(name = "streamId", dataTypeClass = String.class, required = true)
@@ -171,7 +170,7 @@ public class InlongStreamController {
         return Response.success(streamService.delete(groupId, streamId, username));
     }
 
-    @RequestMapping(value = "/getSummaryList/{groupId}", method = RequestMethod.GET)
+    @RequestMapping(value = "/stream/getSummaryList/{groupId}", method = RequestMethod.GET)
     @ApiOperation(value = "Get inlong stream summary list")
     @ApiImplicitParam(name = "groupId", value = "Inlong group id", dataTypeClass = String.class, required = true)
     public Response<List<InlongStreamBriefInfo>> getSummaryList(@PathVariable String groupId) {
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamConfigLogWebController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamConfigLogWebController.java
index 9757e454d..e3389238d 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamConfigLogWebController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamConfigLogWebController.java
@@ -33,18 +33,17 @@ import org.springframework.web.bind.annotation.RestController;
  * Stream config log controller.
  */
 @RestController
-@RequestMapping("/stream/config/log")
-@Api(tags = "Stream Config log")
+@Api(tags = "Stream-Config-Log-API")
 public class StreamConfigLogWebController {
 
     @Autowired
     private StreamConfigLogService streamConfigLogService;
 
-    @RequestMapping(value = "/list", method = RequestMethod.GET)
+    @RequestMapping(value = "/stream/config/log/list", method = RequestMethod.GET)
     @ApiOperation(value = "Paging query inlong stream config log")
     public Response<PageInfo<InlongStreamConfigLogListResponse>> listByCondition(
             InlongStreamConfigLogPageRequest request) {
         return Response.success(streamConfigLogService.listByCondition(request));
     }
-    
+
 }
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSinkController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSinkController.java
index ab5c3658e..7ec7aa92c 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSinkController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSinkController.java
@@ -43,41 +43,40 @@ import org.springframework.web.bind.annotation.RestController;
  * Stream sink control layer
  */
 @RestController
-@RequestMapping("/sink")
 @Api(tags = "Stream-Sink-API")
 public class StreamSinkController {
 
     @Autowired
     private StreamSinkService sinkService;
 
-    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @RequestMapping(value = "/sink/save", method = RequestMethod.POST)
     @OperationLog(operation = OperationType.CREATE)
     @ApiOperation(value = "Save stream sink")
     public Response<Integer> save(@Validated @RequestBody SinkRequest request) {
         return Response.success(sinkService.save(request, LoginUserUtils.getLoginUserDetail().getUsername()));
     }
 
-    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
+    @RequestMapping(value = "/sink/get/{id}", method = RequestMethod.GET)
     @ApiOperation(value = "Get stream sink")
     @ApiImplicitParam(name = "id", dataTypeClass = Integer.class, required = true)
     public Response<StreamSink> get(@PathVariable Integer id) {
         return Response.success(sinkService.get(id));
     }
 
-    @RequestMapping(value = "/list", method = RequestMethod.GET)
+    @RequestMapping(value = "/sink/list", method = RequestMethod.GET)
     @ApiOperation(value = "Get stream sink list by paginating")
     public Response<PageInfo<? extends SinkListResponse>> listByCondition(SinkPageRequest request) {
         return Response.success(sinkService.listByCondition(request));
     }
 
-    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @RequestMapping(value = "/sink/update", method = RequestMethod.POST)
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Update stream sink")
     public Response<Boolean> update(@Validated(UpdateValidation.class) @RequestBody SinkRequest request) {
         return Response.success(sinkService.update(request, LoginUserUtils.getLoginUserDetail().getUsername()));
     }
 
-    @RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
+    @RequestMapping(value = "/sink/delete/{id}", method = RequestMethod.DELETE)
     @OperationLog(operation = OperationType.DELETE)
     @ApiOperation(value = "Delete stream sink")
     @ApiImplicitParam(name = "id", dataTypeClass = Integer.class, required = true)
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java
index 8f90ae2a1..1fad7d979 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java
@@ -43,41 +43,40 @@ import org.springframework.web.bind.annotation.RestController;
  * Stream source control layer
  */
 @RestController
-@RequestMapping("/source")
 @Api(tags = "Stream-Source-API")
 public class StreamSourceController {
 
     @Autowired
     StreamSourceService sourceService;
 
-    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @RequestMapping(value = "/source/save", method = RequestMethod.POST)
     @OperationLog(operation = OperationType.CREATE)
     @ApiOperation(value = "Save stream source")
     public Response<Integer> save(@Validated @RequestBody SourceRequest request) {
         return Response.success(sourceService.save(request, LoginUserUtils.getLoginUserDetail().getUsername()));
     }
 
-    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
+    @RequestMapping(value = "/source/get/{id}", method = RequestMethod.GET)
     @ApiOperation(value = "Get stream source")
     @ApiImplicitParam(name = "id", dataTypeClass = Integer.class, required = true)
     public Response<StreamSource> get(@PathVariable Integer id) {
         return Response.success(sourceService.get(id));
     }
 
-    @RequestMapping(value = "/list", method = RequestMethod.GET)
+    @RequestMapping(value = "/source/list", method = RequestMethod.GET)
     @ApiOperation(value = "Get stream source list by paginating")
     public Response<PageInfo<? extends SourceListResponse>> listByCondition(SourcePageRequest request) {
         return Response.success(sourceService.listByCondition(request));
     }
 
-    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @RequestMapping(value = "/source/update", method = RequestMethod.POST)
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Update stream source")
     public Response<Boolean> update(@Validated(UpdateValidation.class) @RequestBody SourceRequest request) {
         return Response.success(sourceService.update(request, LoginUserUtils.getLoginUserDetail().getUsername()));
     }
 
-    @RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
+    @RequestMapping(value = "/source/delete/{id}", method = RequestMethod.DELETE)
     @OperationLog(operation = OperationType.DELETE)
     @ApiOperation(value = "Delete stream source")
     @ApiImplicitParam(name = "id", dataTypeClass = Integer.class, required = true)
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamTransformController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamTransformController.java
index 8c28875af..94046be67 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamTransformController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamTransformController.java
@@ -19,7 +19,6 @@ package org.apache.inlong.manager.web.controller;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.beans.Response;
 import org.apache.inlong.manager.common.enums.OperationType;
 import org.apache.inlong.manager.common.pojo.common.UpdateValidation;
@@ -43,15 +42,13 @@ import java.util.List;
  * Stream transform control layer
  */
 @RestController
-@RequestMapping("/transform")
 @Api(tags = "Stream-Transform-API")
-@Slf4j
 public class StreamTransformController {
 
     @Autowired
     protected StreamTransformService streamTransformService;
 
-    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @RequestMapping(value = "/transform/save", method = RequestMethod.POST)
     @OperationLog(operation = OperationType.CREATE)
     @ApiOperation(value = "Save stream transform")
     public Response<Integer> save(@Validated @RequestBody TransformRequest request) {
@@ -59,14 +56,14 @@ public class StreamTransformController {
                 streamTransformService.save(request, LoginUserUtils.getLoginUserDetail().getUsername()));
     }
 
-    @RequestMapping(value = "/list", method = RequestMethod.GET)
+    @RequestMapping(value = "/transform/list", method = RequestMethod.GET)
     @ApiOperation(value = "Get stream transform list")
     public Response<List<TransformResponse>> list(@RequestParam("inlongGroupId") String groupId,
             @RequestParam("inlongStreamId") String streamId) {
         return Response.success(streamTransformService.listTransform(groupId, streamId));
     }
 
-    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @RequestMapping(value = "/transform/update", method = RequestMethod.POST)
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Update stream transform")
     public Response<Boolean> update(@Validated(UpdateValidation.class) @RequestBody TransformRequest request) {
@@ -74,7 +71,7 @@ public class StreamTransformController {
         return Response.success(streamTransformService.update(request, operator));
     }
 
-    @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
+    @RequestMapping(value = "/transform/delete", method = RequestMethod.DELETE)
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Delete stream transform")
     public Response<Boolean> delete(@Validated DeleteTransformRequest request) {
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/UserController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/UserController.java
index 5fab745af..e666199e5 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/UserController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/UserController.java
@@ -37,7 +37,6 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -46,52 +45,51 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @Validated
 @RestController
-@RequestMapping("/user")
-@Api(tags = "User - Auth")
+@Api(tags = "User-Auth-API")
 public class UserController {
 
     @Autowired
     UserService userService;
 
-    @PostMapping("/loginUser")
+    @PostMapping("/user/loginUser")
     @ApiOperation(value = "Get the logged-in user")
     public Response<UserDetail> currentUser() {
         return Response.success(LoginUserUtils.getLoginUserDetail());
     }
 
-    @PostMapping("/register")
+    @PostMapping("/user/register")
     @ApiOperation(value = "Register user")
     @RequiresRoles(value = UserRoleCode.ADMIN)
     public Response<Boolean> register(@Validated @RequestBody UserInfo userInfo) {
         return Response.success(userService.create(userInfo));
     }
 
-    @GetMapping("/get/{id}")
+    @GetMapping("/user/get/{id}")
     @ApiOperation(value = "Get user info")
     public Response<UserInfo> getById(@PathVariable Integer id) {
         return Response.success(userService.getById(id));
     }
 
-    @PostMapping("/update")
+    @PostMapping("/user/update")
     @ApiOperation(value = "Update user info")
     public Response<Integer> update(@Validated @RequestBody UserInfo userInfo) {
         String currentUser = LoginUserUtils.getLoginUserDetail().getUsername();
         return Response.success(userService.update(userInfo, currentUser));
     }
 
-    @PostMapping("/updatePassword")
+    @PostMapping("/user/updatePassword")
     @ApiOperation(value = "Update user password")
     public Response<Integer> updatePassword(@RequestBody PasswordChangeRequest request) {
         return Response.success(userService.updatePassword(request));
     }
 
-    @GetMapping("/listAllUsers")
+    @GetMapping("/user/listAllUsers")
     @ApiOperation(value = "List all users")
     public Response<PageInfo<UserDetailListVO>> list(UserDetailPageRequest request) {
         return Response.success(userService.list(request));
     }
 
-    @DeleteMapping("/delete")
+    @DeleteMapping("/user/delete")
     @ApiOperation(value = "Delete user by id")
     @RequiresRoles(value = UserRoleCode.ADMIN)
     public Response<Boolean> delete(@RequestParam("id") Integer id) {
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowApproverController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowApproverController.java
index 0475e4092..73142d82b 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowApproverController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowApproverController.java
@@ -20,7 +20,6 @@ package org.apache.inlong.manager.web.controller;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import java.util.List;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.beans.Response;
 import org.apache.inlong.manager.common.enums.OperationType;
@@ -35,27 +34,27 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * Workflow-Approver controller
  */
 @Slf4j
 @RestController
-@RequestMapping("/workflow/approver")
-@Api(tags = {"Workflow Approver"})
+@Api(tags = "Workflow-Approver-API")
 public class WorkflowApproverController {
 
     @Autowired
     private WorkflowApproverService workflowApproverService;
 
-    @GetMapping("list")
+    @GetMapping("/workflow/approver/list")
     public Response<List<WorkflowApprover>> list(WorkflowApproverQuery query) {
         return Response.success(this.workflowApproverService.list(query));
     }
 
-    @PostMapping("add")
+    @PostMapping("/workflow/approver/add")
     @OperationLog(operation = OperationType.CREATE)
     @ApiOperation(value = "Add approver configuration")
     public Response<Object> add(@RequestBody WorkflowApprover config) {
@@ -63,7 +62,7 @@ public class WorkflowApproverController {
         return Response.success();
     }
 
-    @PostMapping("update/{id}")
+    @PostMapping("/workflow/approver/update/{id}")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Update approver configuration")
     public Response<Object> update(@RequestBody WorkflowApprover config) {
@@ -71,7 +70,7 @@ public class WorkflowApproverController {
         return Response.success();
     }
 
-    @DeleteMapping("delete/{id}")
+    @DeleteMapping("/workflow/approver/delete/{id}")
     @OperationLog(operation = OperationType.DELETE)
     @ApiOperation(value = "Delete approver configuration")
     @ApiParam(value = "Configuration item ID", required = true)
@@ -79,4 +78,5 @@ public class WorkflowApproverController {
         this.workflowApproverService.delete(id, LoginUserUtils.getLoginUserDetail().getUsername());
         return Response.success();
     }
+
 }
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowController.java
index ca354daf5..c487c3127 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowController.java
@@ -47,7 +47,6 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -56,14 +55,13 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @Slf4j
 @RestController
-@RequestMapping("/workflow")
-@Api(tags = "Workflow Config")
+@Api(tags = "Workflow-API")
 public class WorkflowController {
 
     @Autowired
     private WorkflowService workflowService;
 
-    @PostMapping("/start")
+    @PostMapping("/workflow/start")
     @OperationLog(operation = OperationType.CREATE)
     @ApiOperation(value = "Initiation process")
     public Response<WorkflowResult> start(@RequestBody WorkflowOperation operation) {
@@ -71,7 +69,7 @@ public class WorkflowController {
         return Response.success(workflowService.start(operation.getName(), applicant, operation.getForm()));
     }
 
-    @PostMapping("/cancel/{id}")
+    @PostMapping("/workflow/cancel/{id}")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Cancellation process")
     @ApiImplicitParam(name = "id", value = "WorkflowProcess ID", dataTypeClass = Integer.class, required = true)
@@ -80,7 +78,7 @@ public class WorkflowController {
         return Response.success(workflowService.cancel(id, operator, operation.getRemark()));
     }
 
-    @PostMapping("/continue/{id}")
+    @PostMapping("/workflow/continue/{id}")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Continue process")
     @ApiImplicitParam(name = "id", value = "WorkflowProcess ID", dataTypeClass = Integer.class, required = true)
@@ -90,7 +88,7 @@ public class WorkflowController {
         return Response.success(workflowService.continueProcess(id, operator, operation.getRemark()));
     }
 
-    @PostMapping("/approve/{id}")
+    @PostMapping("/workflow/approve/{id}")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Approval and consent")
     @ApiImplicitParam(name = "id", value = "WorkflowTask ID", dataTypeClass = Integer.class, required = true)
@@ -99,7 +97,7 @@ public class WorkflowController {
         return Response.success(workflowService.approve(id, operation.getRemark(), operation.getForm(), operator));
     }
 
-    @PostMapping("/reject/{id}")
+    @PostMapping("/workflow/reject/{id}")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Approval rejected")
     @ApiImplicitParam(name = "id", value = "WorkflowTask ID", dataTypeClass = Integer.class, required = true)
@@ -108,7 +106,7 @@ public class WorkflowController {
         return Response.success(workflowService.reject(id, operation.getRemark(), operator));
     }
 
-    @PostMapping("/transfer/{id}")
+    @PostMapping("/workflow/transfer/{id}")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Turn to do", notes = "Change approver")
     @ApiImplicitParam(name = "id", value = "WorkflowTask ID", dataTypeClass = Integer.class, required = true)
@@ -118,7 +116,7 @@ public class WorkflowController {
                 operation.getTransferTo(), operator));
     }
 
-    @PostMapping("/complete/{id}")
+    @PostMapping("/workflow/complete/{id}")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Finish task by id")
     @ApiImplicitParam(name = "id", value = "WorkflowTask ID", dataTypeClass = Integer.class, required = true)
@@ -127,7 +125,7 @@ public class WorkflowController {
         return Response.success(workflowService.complete(id, request.getRemark(), operator));
     }
 
-    @GetMapping("/detail/{id}")
+    @GetMapping("/workflow/detail/{id}")
     @ApiOperation(value = "Get process detail")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "Process ID", dataTypeClass = Integer.class, required = true),
@@ -139,35 +137,35 @@ public class WorkflowController {
         return Response.success(workflowService.detail(id, taskId, operator));
     }
 
-    @GetMapping("/listProcess")
+    @GetMapping("/workflow/listProcess")
     @ApiOperation(value = "List my processes")
     public Response<PageInfo<ProcessResponse>> listProcess(ProcessQuery query) {
         query.setApplicant(LoginUserUtils.getLoginUserDetail().getUsername());
         return Response.success(workflowService.listProcess(query));
     }
 
-    @GetMapping("/listTask")
+    @GetMapping("/workflow/listTask")
     @ApiOperation(value = "List my tasks")
     public Response<PageInfo<TaskResponse>> listTask(TaskQuery query) {
         query.setApprover(LoginUserUtils.getLoginUserDetail().getUsername());
         return Response.success(workflowService.listTask(query));
     }
 
-    @GetMapping("/processSummary")
+    @GetMapping("/workflow/processSummary")
     @ApiOperation(value = "Get process statistics")
     public Response<ProcessCountResponse> processSummary(ProcessCountQuery query) {
         query.setApplicant(LoginUserUtils.getLoginUserDetail().getUsername());
         return Response.success(workflowService.countProcess(query));
     }
 
-    @GetMapping("/taskSummary")
+    @GetMapping("/workflow/taskSummary")
     @ApiOperation(value = "Get task statistics")
     public Response<TaskCountResponse> taskSummary(TaskCountQuery query) {
         query.setApprover(LoginUserUtils.getLoginUserDetail().getUsername());
         return Response.success(workflowService.countTask(query));
     }
 
-    @GetMapping("/listTaskExecuteLogs")
+    @GetMapping("/workflow/listTaskExecuteLogs")
     @ApiOperation(value = "Get task execution log")
     public Response<PageInfo<WorkflowExecuteLog>> listTaskExecuteLogs(TaskExecuteLogQuery query) {
         return Response.success(workflowService.listTaskExecuteLogs(query));
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowEventController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowEventController.java
index 6e0c1bfa4..cf9ce269d 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowEventController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowEventController.java
@@ -35,7 +35,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -43,28 +42,27 @@ import org.springframework.web.bind.annotation.RestController;
  * Workflow event related interface
  */
 @RestController
-@RequestMapping("/workflow/event")
-@Api(tags = "Workflow Event")
+@Api(tags = "Workflow-Event-API")
 public class WorkflowEventController {
 
     @Autowired
     private WorkflowEventService workflowEventService;
 
-    @GetMapping("/detail/{id}")
+    @GetMapping("/workflow/event/detail/{id}")
     @ApiOperation(value = "Get event details")
     @ApiImplicitParam(name = "id", value = "event id", dataTypeClass = Integer.class, required = true)
     public Response<EventLogView> get(@PathVariable Integer id) {
         return Response.success(workflowEventService.get(id));
     }
 
-    @GetMapping("/list")
-    @ApiOperation(value = "Query event list based on conditions")
+    @GetMapping("/workflow/event/list")
+    @ApiOperation(value = "Get event list by paginating")
     public Response<PageInfo<EventLogView>> list(EventLogQuery query) {
         return Response.success(workflowEventService.list(query));
     }
 
     @Deprecated
-    @PostMapping("executeEventListener/{id}")
+    @PostMapping("/workflow/event/executeEventListener/{id}")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Execute the listener based on the log ID")
     @ApiImplicitParam(name = "id", value = "event id", dataTypeClass = Integer.class, required = true)
@@ -74,7 +72,7 @@ public class WorkflowEventController {
     }
 
     @Deprecated
-    @PostMapping("executeProcessEventListener")
+    @PostMapping("/workflow/event/executeProcessEventListener")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Re-execute the specified listener according to the process ID")
     @ApiImplicitParams({
@@ -88,7 +86,7 @@ public class WorkflowEventController {
     }
 
     @Deprecated
-    @PostMapping("executeTaskEventListener")
+    @PostMapping("/workflow/event/executeTaskEventListener")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Re-execute the specified listener based on the task ID")
     @ApiImplicitParams({
@@ -101,7 +99,7 @@ public class WorkflowEventController {
     }
 
     @Deprecated
-    @PostMapping("triggerProcessEvent")
+    @PostMapping("/workflow/event/triggerProcessEvent")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Re-trigger the process event based on the process ID")
     public Response<Object> triggerProcessEvent(
@@ -112,7 +110,7 @@ public class WorkflowEventController {
     }
 
     @Deprecated
-    @PostMapping("triggerTaskEvent")
+    @PostMapping("/workflow/event/triggerTaskEvent")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Re-trigger the task event based on the task ID")
     public Response<Object> triggerTaskEvent(
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/AgentController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/AgentController.java
index 1f07daed7..2638b96f7 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/AgentController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/AgentController.java
@@ -23,8 +23,8 @@ import org.apache.inlong.common.pojo.agent.TaskRequest;
 import org.apache.inlong.common.pojo.agent.TaskResult;
 import org.apache.inlong.common.pojo.agent.TaskSnapshotRequest;
 import org.apache.inlong.manager.common.beans.Response;
-import org.apache.inlong.manager.service.core.AgentService;
 import org.apache.inlong.manager.service.cluster.InlongClusterService;
+import org.apache.inlong.manager.service.core.AgentService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -38,7 +38,7 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/openapi")
-@Api(tags = "Open-Agent-Config")
+@Api(tags = "Open-Agent-API")
 public class AgentController {
 
     @Autowired
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DBCollectorController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DBCollectorController.java
index 679b33ca9..e4cdbf277 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DBCollectorController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DBCollectorController.java
@@ -35,7 +35,7 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/openapi/dbCollector")
-@Api(tags = "DBCollector Config")
+@Api(tags = "Open-DBCollector-API")
 @Deprecated
 public class DBCollectorController {
 
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java
index 0153cd070..979cee601 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java
@@ -42,12 +42,12 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/openapi")
-@Api(tags = "Open-DataProxy-Config")
+@Api(tags = "Open-DataProxy-API")
 public class DataProxyController {
 
     @Autowired
     private InlongClusterService clusterService;
-    
+
     @PostMapping(value = "/dataproxy/getIpList")
     @ApiOperation(value = "Get data proxy ip list by cluster name and tag")
     public Response<List<DataProxyNodeInfo>> getIpList(@RequestBody ClusterPageRequest request) {
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenClusterController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenClusterController.java
index 88f8c7a8f..725214e0f 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenClusterController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenClusterController.java
@@ -37,21 +37,21 @@ import org.springframework.web.bind.annotation.RestController;
  * Cluster controller
  */
 @RestController
-@RequestMapping("/openapi/cluster")
+@RequestMapping("/openapi")
 @Api(tags = "Open-Cluster-API")
 public class OpenClusterController {
 
     @Autowired
     private InlongClusterService clusterService;
 
-    @GetMapping(value = "/get/{id}")
+    @GetMapping(value = "/cluster/get/{id}")
     @ApiOperation(value = "Get cluster by id")
     @ApiImplicitParam(name = "id", value = "common cluster ID", dataTypeClass = Integer.class, required = true)
     public Response<ClusterInfo> get(@PathVariable Integer id) {
         return Response.success(clusterService.get(id));
     }
 
-    @PostMapping(value = "/list")
+    @PostMapping(value = "/cluster/list")
     @ApiOperation(value = "Get clusters by paginating")
     public Response<PageInfo<ClusterInfo>> list(@RequestBody ClusterPageRequest request) {
         return Response.success(clusterService.list(request));
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenHeartbeatController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenHeartbeatController.java
index 9f32fe498..c55b0ee79 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenHeartbeatController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenHeartbeatController.java
@@ -32,14 +32,14 @@ import org.springframework.web.bind.annotation.RestController;
  * Open heartbeat controller.
  */
 @RestController
-@RequestMapping("/openapi/heartbeat")
+@RequestMapping("/openapi")
 @Api(tags = "Open-Heartbeat-API")
 public class OpenHeartbeatController {
 
     @Autowired
     private HeartbeatService heartbeatService;
 
-    @PostMapping(value = "/report")
+    @PostMapping(value = "/heartbeat/report")
     @ApiOperation(value = "heartbeat report")
     public Response<Boolean> reportHeartbeat(@RequestBody HeartbeatReportRequest info) {
         return Response.success(heartbeatService.reportHeartbeat(info));
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/SortController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/SortController.java
index 4a7d0020b..9c287d68c 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/SortController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/SortController.java
@@ -32,14 +32,14 @@ import org.springframework.web.bind.annotation.RestController;
  * Sort controller.
  */
 @RestController
-@RequestMapping("/openapi/sort")
-@Api(tags = "Sort Config")
+@RequestMapping("/openapi")
+@Api(tags = "Open-Sort-API")
 public class SortController {
 
     @Autowired
     private SortService sortService;
 
-    @GetMapping("/getClusterConfig")
+    @GetMapping("/sort/getClusterConfig")
     @ApiOperation(value = "get sort cluster config")
     public SortClusterResponse getSortClusterConfig(
             @RequestParam String clusterName,
@@ -47,7 +47,7 @@ public class SortController {
         return sortService.getClusterConfig(clusterName, md5);
     }
 
-    @GetMapping("/getSortSource")
+    @GetMapping("/sort/getSortSource")
     @ApiOperation(value = "get sort sdk config")
     public SortSourceConfigResponse getSortSourceConfig(
             @RequestParam String clusterName,
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/StreamConfigLogController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/StreamConfigLogController.java
index 9ba03c6cc..103bdc74d 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/StreamConfigLogController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/StreamConfigLogController.java
@@ -33,14 +33,14 @@ import org.springframework.web.bind.annotation.RestController;
  * Inlong stream config controller.
  */
 @RestController
-@RequestMapping("/openapi/stream")
-@Api(tags = "Stream Config")
+@RequestMapping("/openapi")
+@Api(tags = "Open-Stream-Config-API")
 public class StreamConfigLogController {
 
     @Autowired
     private StreamConfigLogService streamConfigLogService;
 
-    @PostMapping(value = "/log/reportConfigLogStatus",
+    @PostMapping(value = "/stream/log/reportConfigLogStatus",
             produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
     @ApiOperation(value = "stream config log status")
     public Response<String> reportStreamConfigLogStatus(@RequestBody