一、创建响应通用实体类com.zhg.common.responseResult.ResponseResult
package com.zhg.common.responseResult;
import java.io.Serializable;
public class ResponseResult implements Serializable {
private static final long serialVersionUID = 1L;
//默认成功状态码 msgCode
public Integer msgCode;
//默认成功message
public String message;
//数据体
public Object data;
public Integer getMsgCode() {
return msgCode;
}
public void setMsgCode(Integer msgCode) {
this.msgCode = msgCode;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public ResponseResult() {}
public ResponseResult(Integer msgCode, String message) {
this.msgCode = msgCode;
this.message = message;
// this.data = data;
}
/**
*
* success:(执行成功,无数据返回).
* date: 2018年5月16日 下午3:24:34
* @return
*/
public static ResponseResult success() {
ResponseResult result = new ResponseResult();
result.setResultCode(ResultCode.SUCCESS);
return result;
}
/**
*
* success:(执行成功,有数据返回).
* date: 2018年5月16日 下午3:25:05
* @param data
* @return
*/
public static ResponseResult success(Object data) {
ResponseResult result = new ResponseResult();
result.setResultCode(ResultCode.SUCCESS);
result.setData(data);
return result;
}
/**
*
* failure:(执行失败,无数据返回,返回错误信息).
* date: 2018年5月16日 下午3:25:31
* @param resultCode
* @return
*/
public static ResponseResult failure(ResultCode resultCode) {
ResponseResult result = new ResponseResult();
result.setResultCode(resultCode);
return result;
}
/**
*
* failure:(执行失败,有数据返回,返回错误信息).
* date: 2018年5月16日 下午3:26:16
* @param resultCode
* @param data
* @return
*/
public static ResponseResult failure(ResultCode resultCode, Object data) {
ResponseResult result = new ResponseResult();
result.setResultCode(resultCode);
result.setData(data);
return result;
}
/**
*
* failure:(系统运行时异常错误).
* date: 2018年5月17日 下午1:43:50
* @param msgCode
* @param data
* @return
*/
public static ResponseResult failure(Integer msgCode,String message, Object data) {
ResponseResult result = new ResponseResult();
result.setMsgCode(msgCode);
result.setMessage(message);
result.setData(data);
return result;
}
/**
*
* failure:(自定义异常).
* date: 2018年7月13日 下午2:25:15
* @param message 自定义异常信息
* @return
*/
public static ResponseResult failure(String message) {
ResponseResult result = new ResponseResult();
result.setMsgCode(-1);
result.setMessage(message);
return result;
}
/**
*
* setResultCode:(解析参数ResultCode).
* date: 2018年5月16日 下午3:26:34
* @param code
*/
public void setResultCode(ResultCode code) {
this.msgCode = code.msgCode();
this.message = code.message();
}
/**
*
* SysErrorCode:(解析参数SysErrorCode).
* date: 2018年5月16日 下午3:26:34
* @param code
*/
public void setSysErrorCode(SysErrorCode code) {
this.msgCode = code.msgCode();
this.message = code.message();
}
}
二、创建统一返回状态类com.zhg.common.responseResult.ResultCode
package com.zhg.common.responseResult;
public enum ResultCode {
/* 成功状态码 */
SUCCESS(1, "成功"),
/* 参数错误:10001-19999 */
/**
* 10001, "参数无效"
*/
PARAM_IS_INVALID(10001, "参数无效"),
PARAM_IS_BLANK(10002, "参数为空"),
PARAM_TYPE_BIND_ERROR(10003, "参数类型错误"),
PARAM_NOT_COMPLETE(10004, "参数缺失"),
PARAM_INCORRECT_REQUEST(10005, "请求参数类型有误")
;
/**
* 初始化构造
*/
private Integer msgCode;
private String message;
ResultCode(Integer msgCode, String message) {
this.msgCode = msgCode;
this.message = message;
}
public Integer msgCode() {
return this.msgCode;
}
public String message() {
return this.message;
}
public static String getMessage(String name) {
for (ResultCode item : ResultCode.values()) {
if (item.name().equals(name)) {
return item.message;
}
}
return name;
}
public static Integer getCode(String name) {
for (ResultCode item : ResultCode.values()) {
if (item.name().equals(name)) {
return item.msgCode;
}
}
return null;
}
public Integer isSuccess() {
return SUCCESS.msgCode;
}
@Override
public String toString() {
return this.name();
}
}
#三、全局异常统一响应状态com.zhg.common.responseResult.SysErrorCode
```java
package com.zhg.common.responseResult;
public enum SysErrorCode {
/**
* 系统运行时异常
*/
SYSTEM_ERROR(-1, "系统异常,请稍候再试"),
/**
* 成功状态码
*/
HTTPSTATUS_SUCCESS(200, "成功"),
/**
* 400 请求出现语法错误(注意是否参数类型有误)
*/
HTTPSTATUS_400(400, "请求出现语法错误(注意是否参数类型有误)"),
/**
* 403 禁止/服务器拒绝请求
*/
HTTPSTATUS_403(403, "禁止/服务器拒绝请求"),
;
/**
* 初始化构造
*/
private Integer msgCode;
private String message;
SysErrorCode(Integer msgCode, String message) {
this.msgCode = msgCode;
this.message = message;
}
public Integer msgCode() {
return this.msgCode;
}
public String message() {
return this.message;
}
public static String getMessage(String name) {
for (SysErrorCode item : SysErrorCode.values()) {
if (item.name().equals(name)) {
return item.message;
}
}
return name;
}
public static Integer getCode(String name) {
for (SysErrorCode item : SysErrorCode.values()) {
if (item.name().equals(name)) {
return item.msgCode;
}
}
return null;
}
@Override
public String toString() {
return this.name();
}
}
三、全局自定义系统错误--HttpStatuscom.zhg.common.responseResult.SysResponseResult
/**
* Project Name:cloudplatform-common
* File Name:SysRe.java
* Package Name:org.cloudplatform.common.responseResult
* Date:2018年5月16日下午6:50:30
* Copyright (c) 2018, chenzhou1025@126.com All Rights Reserved.
*
*/
package com.zhg.common.responseResult;
/**
*
* ClassName: SysResponseResult
* (全局自定义系统错误--HttpStatus).
* date: 2018年5月16日 下午6:47:27
* @author TANCHAO
* @version
*/
public class SysResponseResult{
/**
*
* failure:(执行失败,无数据返回,返回错误信息).
* date: 2018年5月16日 下午3:26:16
* @param resultCode
* @param data
* @return
*/
public static ResponseResult failure(SysErrorCode SysErrorCode) {
ResponseResult result = new ResponseResult();
result.setSysErrorCode(SysErrorCode);
return result;
}
/**
*
* failure:(执行失败,有数据返回,返回错误信息).
* date: 2018年5月16日 下午3:26:16
* @param resultCode
* @param data
* @return
*/
public static ResponseResult failure(SysErrorCode SysErrorCode, Object data) {
ResponseResult result = new ResponseResult();
result.setSysErrorCode(SysErrorCode);
result.setData(data);
return result;
}
}
四、使用并查看结果
package com.zhg.demo.service.impl;
import com.zhg.demo.common.responseResult.ResponseResult;
import com.zhg.demo.dao.UserDao;
import com.zhg.demo.pojo.User;
import com.zhg.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public ResponseResult findUserByName(String name) {
try {
User user = userDao.findByName(name).orElse(null);
return ResponseResult.success(user);
}catch (Exception e){
return ResponseResult.failure(e.getMessage());
}
}
}
-前端反馈结果
ResponseResult 响应结构
网友评论