springboot封装返回值

封装类

/**
 * @author by ShiYunKai
 * @date 2022/11/25
 */
@Data
public class CommonResult <T>{
    //定义返回码
    private String code;
    //定义返回信息
    private String msg;
    //定义返回数据
    private T data;

    public CommonResult() {

    }

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

    /**
     * 成功返回时不带任何数据
     * @param <T>
     * @return
     */
    public static <T> CommonResult<T> success(){
        return new CommonResult<T>(ResponseCodeEnum.SUCCESS.code, ResponseCodeEnum.SUCCESS.msg, null);
    }

    /**
     * 成功返回时带信息参数
     * @param msg
     * @param <T>
     * @return
     */
    public static <T> CommonResult<T> success(String msg){
        return new CommonResult<T>(ResponseCodeEnum.SUCCESS.code, msg, null);
    }

    /**
     * 成功返回时带数据
     * @param data
     * @param <T>
     * @return
     */
    public static <T> CommonResult<T> success(T data){
        return new CommonResult<T>(ResponseCodeEnum.SUCCESS.code, ResponseCodeEnum.SUCCESS.msg, data);
    }

    /**
     * 异常返回时,不带任何数据
     * @param errorCode 自定义的静态错误码
     * @param <T>
     * @return
     */
    public static <T> CommonResult<T> error(ResponseCodeEnum errorCode){
        return new CommonResult<T>(errorCode.code, errorCode.msg, null);
    }

    /**
     * 异常返回时,带提示信息
     * @param errorCode
     * @param msg
     * @param <T>
     * @return
     */
    public static <T> CommonResult<T> error(ResponseCodeEnum errorCode,String msg){
        return new CommonResult<T>(errorCode.code,msg,null);
    }



}

自定义一些返回状态码

/**
 * +----------------------------------------------------------------------
 * | @Description : 自定义状态返回码
 * +----------------------------------------------------------------------
 * | @Author : CloudNET_施云凯
 * +----------------------------------------------------------------------
 * | @CreateTime : 2022/11/25 17:29
 * +----------------------------------------------------------------------
 */
public enum ResponseCodeEnum {
    SUCCESS("200","请求成功"),
    ERROR("500","请求失败"),
    PRAM_NOT_MATCH("400", "参数不正确"),
    VALIDATE_FAILED("400", "参数检验失败"),
    UNAUTHORIZED("401", "未登录或token过期,请登录!"),
    FORBIDDEN("403", "没有相关权限"),
    NOT_FOUND("404", "没有找到相关数据");

    public String code;
    public String msg;

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

简单测试

    @PostMapping("/login")
    public CommonResult login(@RequestBody SysUser sysUser){
        Object obj = sysUserService.login(sysUser);
        if(obj == null){
            return CommonResult.error(ResponseCodeEnum.NOT_FOUND);
        }
        return CommonResult.success(obj);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot中,可以通过以下步骤实现接口返回值的加密: 1. 创建一个自定义的响应对象,用于封装加密后的返回数据。例如,可以创建一个名为`EncryptedResponse`的类,包含一个`data`字段用于存储加密后的数据。 ```java public class EncryptedResponse { private String data; public EncryptedResponse(String data) { this.data = data; } // getter and setter } ``` 2. 创建一个自定义的响应切面,在切面中对接口返回值进行加密处理。可以使用Spring AOP来实现这一步骤。 ```java @Aspect @Component public class EncryptionAspect { @Autowired private EncryptionService encryptionService; @Pointcut("execution(* com.example.controllers.*.*(..))") public void controllerMethods() {} @Around("controllerMethods()") public Object encryptResponse(ProceedingJoinPoint joinPoint) throws Throwable { // 执行目标方法 Object result = joinPoint.proceed(); // 对返回值进行加密处理 String encryptedData = encryptionService.encrypt(result.toString()); // 创建加密后的响应对象 EncryptedResponse encryptedResponse = new EncryptedResponse(encryptedData); return encryptedResponse; } } ``` 在上述代码中,`EncryptionService`是一个自定义的加密服务,用于对返回值进行加密。你可以根据具体需求选择适合的加密算法和实现方式。 3. 在Spring Boot的配置文件中启用AOP。 ```java @EnableAspectJAutoProxy @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 通过以上步骤,你可以在Spring Boot中实现接口返回值的加密处理。每次调用接口时,返回数据将会被加密后封装在`EncryptedResponse`对象返回给客户端。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值