工作中java返回值形式

本文展示了如何在Java中创建一个`Result`类用于REST API响应,包含状态码、消息和数据字段。同时定义了一个枚举`ResultEnum`来标准化错误代码和消息。此外,提供了一个`ResultUtil`工具类,用于快速构造成功或失败的响应。在测试用例中,演示了如何返回一个包含嵌套数据结构的成功响应。
摘要由CSDN通过智能技术生成

定义一个返回类

public class Result<T> {
    private Integer code;
    private String msg;
    private T data;

    public Result() {
        super();
    }

    public Result(Integer code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "Result{" +
                "code=" + code +
                ", msg='" + msg + '\'' +
                ", data=" + data +
                '}';
    }
}

定义一个状态枚举类

public enum ResultEnum {
    //这里是可以自己定义的,方便与前端交互即可
    UNKNOWN_ERROR(-1,"未知错误"),
    SUCCESS(200,"成功"),
    SERVER_INTERNAL_ERROR(500,"服务器内部错误"),
    RESOURCE_NOT_FOUND(404,"资源未找到"),
    PARAMETER_NOT_VALID(400,"参数不合法"),
    ;
    private Integer code;
    private String msg;

    ResultEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}

工具类

public class ResultUtil {

    /**成功且带数据**/
    public static Result success(Object object){
        Result result = new Result();
        result.setCode(ResultEnum.SUCCESS.getCode());
        result.setMsg(ResultEnum.SUCCESS.getMsg());
        result.setData(object);
        return result;
    }
    /**成功但不带数据**/
    public static Result success(){

        return success(null);
    }
    /**失败**/
    public static Result error(Integer code,String msg){
        Result result = new Result();
        result.setCode(code);
        result.setMsg(msg);
        return result;
    }
}

最后就进行测试使用

    @RequestMapping("/test")
    @ResponseBody
    public Result  test() {
        Map<String,Object> map = new HashMap<>();
        map.put("id","dc9790ca-d5f8-4930-a119-6718d9d40d9c");
        map.put("name","./modelData/feiji.glb");
        List<String> list = new ArrayList<>();
        list.add("502ed0b9-ca00-4711-8240-4c53c39c400b");
        list.add("ee3b59e3-e08c-4360-a0c7-996e65772582");
        map.put("linkId" , list);

        List<Map> Hlist = new ArrayList<>();
        Hlist.add(map);
        Map<String , Object> map1 = new HashMap();
        map1.put("mess" , Hlist);
        return ResultUtil.success(map1);

    }

使用postman工具测试
在这里插入图片描述
原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值