ResultUtils

作用

ResultUtils类的作用主要是通过实现包装的功能来更好的完成Controllor层对输出进行控制的功能。同时也可以把公用的方法封装起来有利于代买的优化。

功能

在Controllor层对输出的结果进行包装,使得输出的结果按照一定的规则,格式进行,这样,后端将可以给前端反馈一个固定格式的内容,更有利于前端对后端的信息进行接收和处理。

ResultUtils类的内容

代码

@Slf4j
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ResultUtils {
    private boolean success;
    private String message;
    private Object data;

    public static ResultUtils result(boolean success , String message , Object data){
        return new ResultUtils(success , message , data);
    }
    public static ResultUtils success(Object data){
        return new ResultUtils(true, MessageMeta.infoAbove.getMsg(), data);
    }
    public static ResultUtils error(String message){
        return new ResultUtils(false, message,null);
    }
    public static ResultUtils success(String message){
        return new ResultUtils(true , message ,null);
    }

}

属性
一般是
boolean 型 反馈的运行状态情况(成功,失败)
String 型 反馈的信息
Object 型 反馈的数据
方法(体现了封装的思想)
上述代码的方法同时也体现了方法重构的特点,根据你要传输的参数决定了你是用的方法,使用这种发放可以大大优化在Controllor层的代码。
包装(在Controllor层)

    @PostMapping("/tradeSend")
    public ResultUtils tradeSend(MoneySend moneySend){
        String result ="";
        int num = moneySend.getNum();
        ResultUtils resultUtils ;
        try {
            if (num < 1){
                throw new BusinessException(MessageMeta.ErrorNum);
            }
            if (moneySend.getMoney().compareTo(new BigDecimal(0)) < 1){
                throw new BusinessException(MessageMeta.ErrorMoney);
            }
            resultUtils = ResultUtils.success(sendTransactionService.sendMoney(moneySend));
        }
        catch (BusinessException e){
            resultUtils = ResultUtils.error(e.getMessage());
        }
        return resultUtils;
    }

根据你程序运行的情况以及你想返回给前端的结果,直接调用ResultUtils类中的方法来给ResultUtils的属性赋值,并把ResultUtils类进行返回前端,完成我们想要的结果

你可能感兴趣的:(ResultUtils)