一、接口统一返回类
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import lombok.Data;
import java.io.Serializable;
@Data
public class ResponseMessage<T> implements Serializable {
// 返回状态【0-成功,1-业务失败,999-表示系统异常】
@JSONField(ordinal = 1)
private int code;
// 返回信息
@JSONField(ordinal = 2)
private String message;
// 返回数据实体;
@JSONField(ordinal = 3,serialzeFeatures = {SerializerFeature.WriteMapNullValue,SerializerFeature.WriteNullStringAsEmpty})
private T data;
private ResponseMessage(){}
public static<T> ResponseMessage success(T m){
ResponseMessage r = new ResponseMessage();
r.setCode(0);
r.setMessage("success");
r.setData(m);
return r;
}
public static<T> ResponseMessage success(){
ResponseMessage r = new ResponseMessage();
r.setCode(0);
r.setMessage("success");
return r;
}
public static<T> ResponseMessage success(String msg){
ResponseMessage r = new ResponseMessage();
r.setCode(0);
r.setMessage("success");
r.setData(msg);
return r;
}
public static<T> ResponseMessage serviceFail(String msg){
ResponseMessage r = new ResponseMessage();
r.setCode(1);
r.setMessage("error");
r.setData(msg);
return r;
}
public static<T> ResponseMessage appFail(String msg){
ResponseMessage r = new ResponseMessage();
r.setCode(999);
r.setMessage(msg);
return r;
}
public static<T> ResponseMessage error(int code, String msg){
ResponseMessage r = new ResponseMessage();
r.setCode(code);
r.setMessage(msg);
return r;
}
public static<T> ResponseMessage serviceFail(){
ResponseMessage r = new ResponseMessage();
r.setCode(1);
r.setMessage("error");
r.setData("系统异常");
return r;
}
}
二、使用
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = FundConfig.class)
})
@ApiOperation(value = "增加基金配置", notes = "", httpMethod = "POST")
@RequestMapping(value = "/addFundConfig", method = RequestMethod.POST)
public ResponseMessage addFundConfig(@RequestBody FundConfig fundConfig) throws Exception {
try {
//先查询是否存在
FundConfig fundcode = tFundConfigService.getOne(new QueryWrapper<FundConfig>().eq("fundCode", fundConfig.getFundCode()));
if (null != fundcode) {
return ResponseMessage.serviceFail("基金" + fundcode.getFundCode() + "已存在!");
}
//基金的排序字段sort不能重复,测试提出的。其实排序字段并列是正常 的
FundConfig sort = tFundConfigService.getOne(new QueryWrapper<FundConfig>().eq("sort", fundConfig.getSort()));
if (null != sort) {
return ResponseMessage.serviceFail("排序" + fundConfig.getSort() + "已存在!");
}
tFundConfigService.save(fundConfig);
redisService.delByprefix("getDirectList");
return ResponseMessage.success("增加成功!");
} catch (Exception e) {
log.error("异常", e);
return ResponseMessage.serviceFail("接口异常!");
}
}