统一接口响应协议JsonData-响应工具类封装

DBC 1.7K 0
温馨提示

老规矩,你看不懂就直接粘贴,2021-11-23最新更新,新版操作,更加优雅

里面需要一个包,不然会报错,没有这个包

Lombok插件

3年前 (2021-04-25) 0
统一接口响应协议JsonData-响应工具类封装插图
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class JsonData implements Serializable {

    /**
     * 状态码 0 表示成功
     */

    private Integer code;
    /**
     * 数据
     */
    private Object data;
    /**
     * 描述
     */
    private String msg;


    /**
     * 成功,不传入数据
     * @return
     */
    public static JsonData buildSuccess() {
        Date day=new Date();
        return new JsonData(0, format(day), "成功");
    }

    /**
     *  成功,传入数据
     * @param data
     * @return
     */
    public static JsonData buildSuccess(Object data) {
        return new JsonData(0, data, "成功");
    }

    /**
     * 失败,传入描述信息
     * @param msg
     * @return
     */
    public static JsonData buildError(String msg) {
        Date day=new Date();
        return new JsonData(-1, format(day), msg);
    }



    /**
     * 自定义状态码和错误信息
     * @param code
     * @param msg
     * @return
     */
    public static JsonData buildCodeAndMsg(int code, String msg) {
        Date day=new Date();
        return new JsonData(code, format(day), msg);
    }
    /**
     *  time 转 字符串
     * @param time
     * @return
     */
    public static String format(Date time){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        ZoneId zoneId = ZoneId.systemDefault();
        String timeStr = formatter.format(time.toInstant().atZone(zoneId));
        return timeStr;
    }

}
温馨提示

如果是从文章来的,这里就可以直接回去了。下面是传送门

博主精品——一个最简单的增删改查(正统SpringBoot实现,标准流程操作,优雅!)

3年前 (2021-06-19) 6
统一接口响应协议JsonData-响应工具类封装插图2

测试一下

 @ApiOperation("根据ID查找地址详情")
    @GetMapping("/find/{address_id}")
    public Object detail(
                @ApiParam(value = "地址id",required = true)
             @PathVariable("address_id") long addressId){

        AddressDO addressDO = addressService.detail(addressId);
        return JsonData.buildSuccess(addressDO);
    }

就变成这样了

统一接口响应协议JsonData-响应工具类封装插图4

发表评论 取消回复
表情 图片 链接 代码

分享