优秀的编程知识分享平台

网站首页 > 技术文章 正文

33.公共控制器,统一返回,异常统一处理

nanyue 2024-09-03 16:19:28 技术文章 15 ℃

1.公共控制器BaseController

package com.haiyeren.controller;

public class BaseController {

}

2.统一返回ResultVo、ResultVo

package com.haiyeren.entity.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@ApiModel("返回对象")
@Data
public class ResultVo<T> {

    @ApiModelProperty(value = "返回消息", required = true)
    private String message="执行成功";
    @ApiModelProperty(value = "状态码:1正常,401未登录,500服务异常", required = true)
    private Integer status=1;

    @ApiModelProperty(value = "返回数据", required = false)
    private T data;


}
package com.haiyeren.entity.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@ApiModel("返回列表对象")
@Data
public class PageListVo<T>  {
    @ApiModelProperty(value = "返回消息", required = true)
    private String message="执行成功";
    @ApiModelProperty(value = "状态码:1正常,401未登录,500服务异常", required = true)
    private Integer status=1;
    @ApiModelProperty(value = "列表", required = true)
    private List<T> list;
    @ApiModelProperty(value = "总数", required = true)
    private Long total;


}

3.异常统一处理

package com.haiyeren.config;


import com.haiyeren.entity.vo.ResultVo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 异常处理器
 *
 * @author lipengjun
 * @email 939961241@qq.com
 * @date 2016年10月27日 下午10:16:19
 */
@RestControllerAdvice(value = {"com.haiyeren"})
public class ApiExceptionHandler {
    private Logger logger = LoggerFactory.getLogger(ApiExceptionHandler.class);


    @ExceptionHandler(Exception.class)
    public ResultVo handleException(Exception e) {
        logger.error(e.getMessage(), e);
        ResultVo resultVo=new ResultVo();

        resultVo.setStatus(500);
        resultVo.setMessage("服务器繁忙,请稍后重试");
        return resultVo;
    }


}
最近发表
标签列表