Declarative API programming (DAP) framework
You only need to add a annotation to the parent interface of your service to provide an interface to the outside world. We also support the traditional Controller
@MarsApi(refBean="The name of the bean to reference")
public interface TestService {
`Return type` selectList(TestDTO testDTO);
}
// Query a piece of data based on the primary key
@MarsGet(tableName = "userinfo",primaryKey = "id")
public abstract `Return type` selectById(int id);
// Insert a piece of data
@MarsUpdate(tableName = "userinfo",operType = OperType.INSERT)
public abstract int insert(`Entity object parameter`);
// Delete a piece of data based on the primary key
@MarsUpdate(tableName = "userinfo",operType = OperType.DELETE,primaryKey = "id")
public abstract int delete(int id);
// Modify a piece of data based on the primary key
@MarsUpdate(tableName = "userinfo",operType = OperType.UPDATE,primaryKey = "id")
public abstract int update(`Entity object parameter`);
Just add a annotation to the field of VO
// Cannot be empty and is 2-3 digits long
@MarsDataCheck(notNull = true,maxLength = 3L,minLength = 2L, msg = "id不可为空且长度必须在2-3位之间")
private Integer id;
// Regular check
@MarsDataCheck(reg = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,12}$",msg = "密码不可以为空且必须是6-12位数字字母组合")
private String password;
How does the front end get prompted?
Just request the API normally. If the verification fails, you will get such a json.
{"error_code":1128,"error_info":"提示文字"}
Usually when we write code, we need to add try {} catch () {} to each Controller method, which can be used to return the json string normally when the exception
Spring has an ExecptionHandler to solve this problem, and Mars-java also provides a corresponding solution
The solution is to do nothing, and if something goes wrong, it will automatically return the following json string to the front end
{"error_code":500,"error_info":"异常提示"}
Add RedisLock annotation on the method to be locked
@RedisLock(key = "Define a key yourself")
public int insert(){
return 1;
}
At present, this project has its own microservice framework: Mars-cloud, more components will be launched later, and the ultimate goal is to create a useful closed ecosystem
Note: The closed ecology does not mean that it is not open source, but that most of the components are their own and can be well integrated.