[go: nahoru, domu]

Skip to content

Commit

Permalink
code push => 1.修改BaseServerController 2.添加ErrorCode
Browse files Browse the repository at this point in the history
  • Loading branch information
Joezeo committed May 3, 2021
1 parent 13594be commit d83a657
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 2 deletions.
20 changes: 20 additions & 0 deletions common/src/main/java/com/toocol/common/system/ErrorCode.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.toocol.common.system;

import lombok.AllArgsConstructor;

/**
* @author Joezeo
* @date 2021/5/3 18:16
*/
@AllArgsConstructor
public enum ErrorCode {
/**
* 传来的请求必要参数不全
*/
NECESSARY_PARAM_IS_MISSING(1001, "传来的请求必要参数不全")
;

public int code;

public String desc;
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package com.toocol.common.web;

import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.Optional;


/**
Expand All @@ -11,11 +14,23 @@
*/
@RequestMapping("/service")
public abstract class BaseServerController implements IController {

/**
* execute http request
*
* @param request
* @return
*/
public abstract String execute(HttpServletRequest request);
public abstract String execute(@RequestBody JSONObject request);

/**
* check the param
* @param request
* @return true:all exist false:param miss
*/
public Boolean paramCheck(JSONObject request) {
return Optional.ofNullable(this.getClass().getAnnotation(ParamCheck.class))
.filter(annotation -> Arrays.stream(annotation.params()).allMatch(request::containsKey))
.isPresent();
}
}
19 changes: 19 additions & 0 deletions common/src/main/java/com/toocol/common/web/ParamCheck.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.toocol.common.web;

import org.springframework.stereotype.Repository;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
* @author Joezeo
* @date 2021/5/3 18:00
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Repository
public @interface ParamCheck {
String[] params();
}

0 comments on commit d83a657

Please sign in to comment.