xuxueli 5 gadus atpakaļ
vecāks
revīzija
55f0f8aacf

+ 40 - 10
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java Parādīt failu

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.util.JacksonUtil;
5
 import com.xxl.job.core.biz.AdminBiz;
6
 import com.xxl.job.core.biz.AdminBiz;
6
 import com.xxl.job.core.biz.model.HandleCallbackParam;
7
 import com.xxl.job.core.biz.model.HandleCallbackParam;
7
 import com.xxl.job.core.biz.model.RegistryParam;
8
 import com.xxl.job.core.biz.model.RegistryParam;
32
     /**
33
     /**
33
      * callback
34
      * callback
34
      *
35
      *
35
-     * @param callbackParamList
36
+     * @param data
36
      * @return
37
      * @return
37
      */
38
      */
38
     @RequestMapping("/callback")
39
     @RequestMapping("/callback")
39
     @ResponseBody
40
     @ResponseBody
40
     @PermissionLimit(limit=false)
41
     @PermissionLimit(limit=false)
41
-    public ReturnT<String> callback(HttpServletRequest request, @RequestBody List<HandleCallbackParam> callbackParamList) {
42
-
42
+    public ReturnT<String> callback(HttpServletRequest request, @RequestBody(required = false) String data) {
43
+        // valid
43
         if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
44
         if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
44
                 && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
45
                 && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
45
                 && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_RPC_ACCESS_TOKEN))) {
46
                 && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_RPC_ACCESS_TOKEN))) {
46
             return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
47
             return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
47
         }
48
         }
48
 
49
 
50
+        // 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
+        }
58
+
59
+        // invoke
49
         return adminBiz.callback(callbackParamList);
60
         return adminBiz.callback(callbackParamList);
50
     }
61
     }
51
 
62
 
54
     /**
65
     /**
55
      * registry
66
      * registry
56
      *
67
      *
57
-     * @param registryParam
68
+     * @param data
58
      * @return
69
      * @return
59
      */
70
      */
60
     @RequestMapping("/registry")
71
     @RequestMapping("/registry")
61
     @ResponseBody
72
     @ResponseBody
62
     @PermissionLimit(limit=false)
73
     @PermissionLimit(limit=false)
63
-    public ReturnT<String> registry(HttpServletRequest request, @RequestBody RegistryParam registryParam) {
64
-
74
+    public ReturnT<String> registry(HttpServletRequest request, @RequestBody(required = false) String data) {
75
+        // valid
65
         if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
76
         if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
66
                 && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
77
                 && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
67
                 && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_RPC_ACCESS_TOKEN))) {
78
                 && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_RPC_ACCESS_TOKEN))) {
68
             return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
79
             return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
69
         }
80
         }
70
 
81
 
82
+        // 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
+        }
90
+
91
+        // invoke
71
         return adminBiz.registry(registryParam);
92
         return adminBiz.registry(registryParam);
72
     }
93
     }
73
 
94
 
74
     /**
95
     /**
75
      * registry remove
96
      * registry remove
76
      *
97
      *
77
-     * @param registryParam
98
+     * @param data
78
      * @return
99
      * @return
79
      */
100
      */
80
     @RequestMapping("/registryRemove")
101
     @RequestMapping("/registryRemove")
81
     @ResponseBody
102
     @ResponseBody
82
     @PermissionLimit(limit=false)
103
     @PermissionLimit(limit=false)
83
-    public ReturnT<String> registryRemove(HttpServletRequest request, @RequestBody RegistryParam registryParam) {
84
-
104
+    public ReturnT<String> registryRemove(HttpServletRequest request, @RequestBody(required = false) String data) {
105
+        // valid
85
         if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
106
         if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
86
                 && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
107
                 && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
87
                 && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_RPC_ACCESS_TOKEN))) {
108
                 && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_RPC_ACCESS_TOKEN))) {
88
             return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
109
             return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
89
         }
110
         }
90
 
111
 
112
+        // 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
+        }
120
+
121
+        // invoke
91
         return adminBiz.registryRemove(registryParam);
122
         return adminBiz.registryRemove(registryParam);
92
     }
123
     }
93
 
124
 
94
-
95
     // ---------------------- job biz ----------------------
125
     // ---------------------- job biz ----------------------
96
 
126
 
97
 }
127
 }