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;
}
}