统一返回值:
public enum StateCodeEnum {
/**
* 请求成功
*/
SUCCESS(200,"请求成功"),
/**
* 请求失败
*/
FAIL(500,"请求失败");
private int code;
private String msg;
StateCodeEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
@Builder
- 可以放在类,构造函数或方法上
- 可以以链的形式调用
- 初始化实例对象生成的对象是不可以改变的,可以在创建对象的时候进行赋值
- 它会生成一个全参的构造函数
- 如果需要在原来的基础上修改,可以加set方法,final字段可以不需要初始化
Builder.class
package lombok;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target({ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR})
@Retention(RetentionPolicy.SOURCE)
public @interface Builder {//指定创建内部静态类的方法名,默认值为 builder
String builderMethodName() default "builder";
//指定创建实体类的方法名,默认值为 build
String buildMethodName() default "build";
//指定内部静态的类名,默认值为“” ,默认创建的类名为 thisclassBuilder
String builderClassName() default "";
//设置为ture可以对这个对象进行拷贝生成新的对象,可以再修改,默认为 false
boolean toBuilder() default false;
//设置builderMethodName的访问权限修饰符,默认为 public
AccessLevel access() default AccessLevel.PUBLIC;
// 设置setter方法的前缀,默认为“”
String setterPrefix() default "";
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.SOURCE)
public @interface Default {
}@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.SOURCE)
public @interface ObtainVia {
String field() default "";String method() default "";
boolean isStatic() default false;
}
}
@Data
@Builder
public class ResultWrapper<T> implements Serializable {
//状态码
private int code;
//提示信息
private String msg;
private T data;
//返回成功的包装
public static ResultWrapper.ResultWrapperBuilder getSuccessBuilder(){
return ResultWrapper.builder().code(StateCodeEnum.SUCCESS.getCode()).msg(StateCodeEnum.SUCCESS.getMsg());
}
public static ResultWrapper.ResultWrapperBuilder getFailBuilder(){
return ResultWrapper.builder().code(StateCodeEnum.FAIL.getCode()).msg(StateCodeEnum.FAIL.getMsg());
}
}
@RestController
@RequestMapping("/user-member")
public class UserMemberController {
@Autowired
UmsMemberService umsMemberService;
@PostMapping("/register")
public ResultWrapper register(@RequestBody @Valid UmsMemberRegisterParamDTO umsMemberRegisterParamDTO){
umsMemberService.register(umsMemberRegisterParamDTO);
return ResultWrapper.getSuccessBuilder().data(null).build();
}
}