返回数据
import java.util.HashMap;
import java.util.Map;
import org.springframework.http.HttpStatus;
/**
* 返回数据
**/
public class R extends HashMap<String, Object> {
private static final long serialVersionUID = 1L;
public R() {
put("code", 0);
put("msg", "success");
}
public static R error() {
return error(HttpStatus.INTERNAL_SERVER_ERROR.value(), "未知异常,请联系管理员");
}
public static R error(String msg) {
return error(HttpStatus.INTERNAL_SERVER_ERROR.value(), msg);
}
public static R error(int code, String msg) {
R r = new R();
r.put("code", code);
r.put("msg", msg);
LogUtil.error(r.toString());
return r;
}
public static R ok(String msg) {
R r = new R();
r.put("msg", msg);
LogUtil.info(r.toString());
return r;
}
public static R ok(Map<String, Object> map) {
R r = new R();
r.putAll(map);
LogUtil.info(r.toString());
return r;
}
public static R ok() {
return new R();
}
public R put(String key, Object value) {
super.put(key, value);
return this;
}
public static R ok(int code, String msg) {
R r = new R();
r.put("code", code);
r.put("msg", msg);
LogUtil.error(r.toString());
return r;
}
}
附加代LogUtil
package com.seerkey.datasync.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogUtil {
private static Logger logger;
static {
logger = LoggerFactory.getLogger("my_info");
if (logger == null) {
logger = LoggerFactory.getLogger(LogUtil.class);
}
}
/**
*
* @param info
* 需要输出的信息 占位符为 {}
* @param params
* 若有参数,info需使用占位符 eg:logger.info("{},{},it's OK.","Hi","Jack");
*/
public static void info(String info, Object... params) {
StringBuilder sb = new StringBuilder();
sb.append(">>>").append(info);
if (params == null || params.length == 0) {
logger.info(sb.toString());
} else {
logger.info(sb.toString(), params);
}
}
/**
*
* @param info
* 需要输出的信息 占位符为 {}
* @param params
* 若有参数,info需使用占位符 eg:logger.info("{},{},it's OK.","Hi","Jack");
*/
public static void debug(String info, Object... params) {
StringBuilder sb = new StringBuilder();
sb.append(">>>").append(info);
if (params == null || params.length == 0) {
logger.debug(sb.toString());
} else {
logger.debug(sb.toString(), params);
}
}
/**
* 警告信息
*
* @param info
* 需要输出的信息 占位符为 {}
* @param params
* 若有参数,info需使用占位符 eg:logger.info("{},{},it's OK.","Hi","Jack");
*/
public static void warn(String info, Object... params) {
StringBuilder sb = new StringBuilder();
sb.append(">>>").append(info);
if (params == null || params.length == 0) {
logger.warn(sb.toString());
} else {
logger.warn(sb.toString(), params);
}
}
/**
* 错误信息
*
* @param info
* 需要输出的信息 占位符为 {}
* @param params
* 若有参数,info需使用占位符 eg:logger.info("{},{},it's OK.","Hi","Jack");
*/
public static void error(String info, Object... params) {
StringBuilder sb = new StringBuilder();
sb.append(">>>").append(info);
if (params == null || params.length == 0) {
logger.error(sb.toString());
} else {
logger.error(sb.toString(), params);
}
}
/**
* 方法开始调用
*
* @param operateName
* 业务操作名称或方法名
* @param info
* 需要输出的信息 占位符为 {}
* @param params
* 若有参数,info需使用占位符 eg:logger.info("{},{},it's OK.","Hi","Jack");
*/
public static void logBefore(String operateName, String info, Object... params) {
StringBuilder sb = new StringBuilder();
sb.append(">>>>>>start>>>")
.append(operateName).append(">>>").append(info);
if (params == null || params.length == 0) {
logger.info(sb.toString());
} else {
logger.info(sb.toString(), params);
}
}
/**
* 方法结束调用
*
* @param operateName
* 业务操作名称或方法名
* @param info
* 需要输出的信息 占位符为 {}
* @param params
* 若有参数,info需使用占位符 eg:logger.info("{},{},it's OK.","Hi","Jack");
*/
public static void logAfter(String operateName, String info, Object... params) {
StringBuilder sb = new StringBuilder();
sb.append(">>>>>>end>>>")
.append(operateName).append(">>>").append(info);
if (params == null || params.length == 0) {
logger.info(sb.toString());
} else {
logger.info(sb.toString(), params);
}
}
public static Logger getLogger(Class<?> clazz) {
return LoggerFactory.getLogger(clazz);
}
}