一、统一响应结果实体类:
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
-
@ClassName: Result
-
@Description:
-
@Version: v1.0.0
-
@Author: greatesky
-
@Date: 2019/9/7 11:22
-
Modification History:
-
Date Author Version Description
-
-
2019/9/7 greatesky v1.0.0 创建
*/
@ApiModel(value = “统一响应结果”)
@Data
@Accessors(chain = true)
public class Result implements Serializable {
private static final long serialVersionUID = -5336210741362413873L;@ApiModelProperty(value = “接口调用是否成功,true = 成功,false = 不成功”)
private Boolean isSuccess;@ApiModelProperty(value = “响应结果标识符”)
private String code;@ApiModelProperty(value = “响应结果说明”)
private String message;@ApiModelProperty(value = “响应数据”)
private T data;
}
二、响应结果
**
-
@ClassName: ResultGenerator
-
@Description: Result 生成工具
-
@Version: v1.0.0
-
@Author: greatesky
-
@Date: 2019/9/7 11:27
-
Modification History:
-
Date Author Version Description
-
-
2019/9/7 greatesky v1.0.0 创建
*/
public class ResultGenerator {public static Result genSuccessResult() {
return new Result()
.setCode(“200”)
.setMessage(“成功”)
.setIsSuccess(true);
}public static Result genSuccessResult(T data) {
return new Result()
.setIsSuccess(true)
.setCode(“200”)
.setMessage(“成功”)
.setData(data);
}public static Result genSuccessResult(String code, String message) {
return new Result()
.setIsSuccess(true)
.setCode(code)
.setMessage(message);
}public static Result genSuccessResult(String code, String message, T data) {
return new Result()
.setIsSuccess(true)
.setCode(code)
.setMessage(message)
.setData(data);
}public static Result genFailResult() {
return new Result()
.setIsSuccess(false)
.setCode("-1")
.setMessage(“失败”);
}public static Result genFailResult(String code, String message) {
return new Result()
.setIsSuccess(false)
.setCode(code)
.setMessage(message);
}public static Result genFailResult(String code, String retMSg, T data) {
return new Result()
.setIsSuccess(false)
.setCode(code)
.setMessage(retMSg)
.setData(data);
}
}
三、RestRes响应数据格式化
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.time.DateUtils;
import java.util.Date;
/**
-
响应数据格式化
-
只适用于名为soymilkadmin的前端项目
-
@author yang
-
@create 2019-05-30
/
public class RestRes {
/*- @return com.alibaba.fastjson.JSONObject
- @Description 返回格式化的表格数据
- @Date 2019/5/30
- @Param [list]
**/
public static JSONObject table(PageInfo pageInfo) {
JSONObject jsonObject = new JSONObject();
jsonObject.clear();
jsonObject.put(“content”, pageInfo.getList());
jsonObject.put(“totalElements”, pageInfo.getTotal());
return jsonObject;
}
/**
- @return com.alibaba.fastjson.JSONObject
- @Description 返回
- @Date 2019/5/30
- @Param [list]
**/
public static JSONObject token(String token, T user) {
JSONObject jsonObject = new JSONObject();
jsonObject.clear();
jsonObject.put(“token”, token);
jsonObject.put(“user”, user);
return jsonObject;
}
/**
- @return com.alibaba.fastjson.JSONObject
- @Description
- @Date 2019/5/30
- @Param [list]
**/
public static JSONObject appToken(String token, int expires_in) {
JSONObject jsonObject = new JSONObject();
jsonObject.clear();
jsonObject.put(“access_token”, token);
jsonObject.put(“expires_in”, expires_in);
//token类型为app
jsonObject.put(“type”, “A”);
return jsonObject;
}
public static JSONObject clientToken(String token, int expires_in) {
JSONObject jsonObject = new JSONObject();
jsonObject.clear();
jsonObject.put(“token”, token);
long failtime = DateUtils.addSeconds(new Date(), expires_in).getTime();
jsonObject.put(“failtime”, failtime);
//token类型为client
jsonObject.put(“type”, “client”);
return jsonObject;
}
}
四、废话少说,看代码运用
/***
- @Description 终端设备列表展示
- @author Fu on 2019/10/22 0022 下午 1:19
- @param data description
- @return
**/
@ApiOperation(value = “列表展示”)
@GetMapping("/selectTerminals")
@ResponseBody
@IgnoreClientToken
@IgnoreUserToken
public Result selectTerminalList(@feign.Param(“page”) Integer page,
@feign.Param(“size”) Integer size,
@feign.Param(“companyId”) String companyId,
@feign.Param(“asProductPricestrategyId”)String asProductPricestrategyId){
PageInfo pageInfo=service.selectTerminals(page,size,companyId,asProductPricestrategyId);
return ResultGenerator.genSuccessResult(RestRes.table(pageInfo));
}
/**
- terminalid:
- @return
- @Description 插入/添加
- @author Fu on 2019/10/15 0015 下午 6:14
*/
@ApiOperation(value = “插入”)
@PostMapping("/insertTerminal")
@ResponseBody
public Result insertTerminal(@Param(“terminalId”) String terminalId,
@Param(“coId”) String coId,
@Param(“name”)String name,
@Param(“phone”)String phone){
sysTerminalManagerService.insertTerminal(terminalId,name,phone,coId);
return ResultGenerator.genSuccessResult();
}
本人因为工作繁忙,每周都会抽一次时间,把自己在项目中使用的技术更加分享,志同道合的朋友可以加我扣扣,863967089,备注博客