瀏覽代碼

update document

xuxueli 5 年之前
父節點
當前提交
c47df8ddd5
共有 1 個文件被更改,包括 38 次插入36 次删除
  1. 38 36
      xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java

+ 38 - 36
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java 查看文件

2
 
2
 
3
 import com.xxl.job.admin.controller.annotation.PermissionLimit;
3
 import com.xxl.job.admin.controller.annotation.PermissionLimit;
4
 import com.xxl.job.admin.core.conf.XxlJobAdminConfig;
4
 import com.xxl.job.admin.core.conf.XxlJobAdminConfig;
5
+import com.xxl.job.admin.core.exception.XxlJobException;
5
 import com.xxl.job.admin.core.util.JacksonUtil;
6
 import com.xxl.job.admin.core.util.JacksonUtil;
6
 import com.xxl.job.core.biz.AdminBiz;
7
 import com.xxl.job.core.biz.AdminBiz;
7
 import com.xxl.job.core.biz.model.HandleCallbackParam;
8
 import com.xxl.job.core.biz.model.HandleCallbackParam;
28
     private AdminBiz adminBiz;
29
     private AdminBiz adminBiz;
29
 
30
 
30
 
31
 
32
+    // ---------------------- base ----------------------
33
+
34
+    /**
35
+     * valid access token
36
+     */
37
+    private void validAccessToken(HttpServletRequest request){
38
+        if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
39
+                && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
40
+                && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_RPC_ACCESS_TOKEN))) {
41
+            throw new XxlJobException("The access token is wrong.");
42
+        }
43
+    }
44
+
45
+    /**
46
+     * parse Param
47
+     */
48
+    private Object parseParam(String data, Class<?> parametrized, Class<?>... parameterClasses){
49
+        Object param = null;
50
+        try {
51
+            if (parameterClasses != null) {
52
+                param = JacksonUtil.readValue(data, parametrized, parameterClasses);
53
+            } else {
54
+                param = JacksonUtil.readValue(data, parametrized);
55
+            }
56
+        } catch (Exception e) { }
57
+        if (param==null) {
58
+            throw new XxlJobException("The request data invalid.");
59
+        }
60
+        return param;
61
+    }
62
+
31
     // ---------------------- admin biz ----------------------
63
     // ---------------------- admin biz ----------------------
32
 
64
 
33
     /**
65
     /**
41
     @PermissionLimit(limit=false)
73
     @PermissionLimit(limit=false)
42
     public ReturnT<String> callback(HttpServletRequest request, @RequestBody(required = false) String data) {
74
     public ReturnT<String> callback(HttpServletRequest request, @RequestBody(required = false) String data) {
43
         // valid
75
         // valid
44
-        if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
45
-                && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
46
-                && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_RPC_ACCESS_TOKEN))) {
47
-            return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
48
-        }
76
+        validAccessToken(request);
49
 
77
 
50
         // param
78
         // param
51
-        List<HandleCallbackParam> callbackParamList = null;
52
-        try {
53
-            callbackParamList = JacksonUtil.readValue(data, List.class, HandleCallbackParam.class);
54
-        } catch (Exception e) { }
55
-        if (callbackParamList==null || callbackParamList.size()==0) {
56
-            return new ReturnT<String>(ReturnT.FAIL_CODE, "The request data invalid.");
57
-        }
79
+        List<HandleCallbackParam> callbackParamList = (List<HandleCallbackParam>) parseParam(data, List.class, HandleCallbackParam.class);
58
 
80
 
59
         // invoke
81
         // invoke
60
         return adminBiz.callback(callbackParamList);
82
         return adminBiz.callback(callbackParamList);
73
     @PermissionLimit(limit=false)
95
     @PermissionLimit(limit=false)
74
     public ReturnT<String> registry(HttpServletRequest request, @RequestBody(required = false) String data) {
96
     public ReturnT<String> registry(HttpServletRequest request, @RequestBody(required = false) String data) {
75
         // valid
97
         // valid
76
-        if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
77
-                && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
78
-                && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_RPC_ACCESS_TOKEN))) {
79
-            return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
80
-        }
98
+        validAccessToken(request);
81
 
99
 
82
         // param
100
         // param
83
-        RegistryParam registryParam = null;
84
-        try {
85
-            registryParam = JacksonUtil.readValue(data, RegistryParam.class);
86
-        } catch (Exception e) {}
87
-        if (registryParam == null) {
88
-            return new ReturnT<String>(ReturnT.FAIL_CODE, "The request data invalid.");
89
-        }
101
+        RegistryParam registryParam = (RegistryParam) parseParam(data, RegistryParam.class);
90
 
102
 
91
         // invoke
103
         // invoke
92
         return adminBiz.registry(registryParam);
104
         return adminBiz.registry(registryParam);
103
     @PermissionLimit(limit=false)
115
     @PermissionLimit(limit=false)
104
     public ReturnT<String> registryRemove(HttpServletRequest request, @RequestBody(required = false) String data) {
116
     public ReturnT<String> registryRemove(HttpServletRequest request, @RequestBody(required = false) String data) {
105
         // valid
117
         // valid
106
-        if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
107
-                && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
108
-                && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_RPC_ACCESS_TOKEN))) {
109
-            return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
110
-        }
118
+        validAccessToken(request);
111
 
119
 
112
         // param
120
         // param
113
-        RegistryParam registryParam = null;
114
-        try {
115
-            registryParam = JacksonUtil.readValue(data, RegistryParam.class);
116
-        } catch (Exception e) {}
117
-        if (registryParam == null) {
118
-            return new ReturnT<String>(ReturnT.FAIL_CODE, "The request data invalid.");
119
-        }
121
+        RegistryParam registryParam = (RegistryParam) parseParam(data, RegistryParam.class);
120
 
122
 
121
         // invoke
123
         // invoke
122
         return adminBiz.registryRemove(registryParam);
124
         return adminBiz.registryRemove(registryParam);