123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package com.xxl.job.admin.controller;
- import com.xxl.job.admin.controller.annotation.PermissionLimit;
- import com.xxl.job.admin.core.conf.XxlJobAdminConfig;
- import com.xxl.job.core.biz.AdminBiz;
- import com.xxl.job.core.biz.model.HandleCallbackParam;
- import com.xxl.job.core.biz.model.RegistryParam;
- import com.xxl.job.core.biz.model.ReturnT;
- import com.xxl.job.core.util.GsonTool;
- import com.xxl.job.core.util.XxlJobRemotingUtil;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import java.util.List;
- /**
- * Created by xuxueli on 17/5/10.
- */
- @Controller
- @RequestMapping("/api")
- public class JobApiController {
- @Resource
- private AdminBiz adminBiz;
- /**
- * api
- *
- * @param uri
- * @param data
- * @return
- */
- @RequestMapping("/{uri}")
- @ResponseBody
- @PermissionLimit(limit=false)
- public ReturnT<String> api(HttpServletRequest request, @PathVariable("uri") String uri, @RequestBody(required = false) String data) {
- // valid
- if (!"POST".equalsIgnoreCase(request.getMethod())) {
- return new ReturnT<String>(ReturnT.FAIL_CODE, "invalid request, HttpMethod not support.");
- }
- if (uri==null || uri.trim().length()==0) {
- return new ReturnT<String>(ReturnT.FAIL_CODE, "invalid request, uri-mapping empty.");
- }
- if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
- && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
- && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_JOB_ACCESS_TOKEN))) {
- return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
- }
- // services mapping
- if ("callback".equals(uri)) {
- List<HandleCallbackParam> callbackParamList = GsonTool.fromJson(data, List.class, HandleCallbackParam.class);
- return adminBiz.callback(callbackParamList);
- } else if ("registry".equals(uri)) {
- RegistryParam registryParam = GsonTool.fromJson(data, RegistryParam.class);
- return adminBiz.registry(registryParam);
- } else if ("registryRemove".equals(uri)) {
- RegistryParam registryParam = GsonTool.fromJson(data, RegistryParam.class);
- return adminBiz.registryRemove(registryParam);
- } else {
- return new ReturnT<String>(ReturnT.FAIL_CODE, "invalid request, uri-mapping("+ uri +") not found.");
- }
- }
- }
|