// Path: src/main/java/cn/iflyapi/blog/exception/FlyapiException.java
// public class FlyapiException extends RuntimeException {
// 
//     private int code = -1;
//     private String msg;
// 
//     public FlyapiException(CodeMsgEnum codeMsgEnum) {
//         this.code = codeMsgEnum.getCode();
//         this.msg = codeMsgEnum.getMsg();
//     }
// 
//     public FlyapiException(int code, String msg) {
//         this.code = code;
//         this.msg = msg;
//     }
// 
//     public FlyapiException(String msg) {
//         this.msg = msg;
//     }
// 
//     public int getCode() {
//         return code;
//     }
// 
//     public void setCode(int code) {
//         this.code = code;
//     }
// 
//     public String getMsg() {
//         return msg;
//     }
// 
//     public void setMsg(String msg) {
//         this.msg = msg;
//     }
// }
// 
// Path: src/main/java/cn/iflyapi/blog/model/JSONResult.java
// @Getter
// @Setter
// public class JSONResult {
// 
//     private int code;
//     private String msg;
//     private boolean success;
//     private Object data;
// 
//     private JSONResult(int code, String msg, boolean success, Object data) {
//         this.code = code;
//         this.msg = msg;
//         this.success = success;
//         this.data = data;
//     }
// 
//     public static JSONResult ok(int code, String msg, Object data) {
//         return new JSONResult(code, msg, true, data);
//     }
// 
//     public static JSONResult ok(CodeMsgEnum codeMsgEnum, Object data) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), data);
//     }
// 
//     public static JSONResult ok(Object data) {
//         return ok(CodeMsgEnum.OK, data);
//     }
// 
//     public static JSONResult ok() {
//         return ok(CodeMsgEnum.OK, null);
//     }
// 
//     public static JSONResult fail(int code, String msg) {
//         return new JSONResult(code, msg, false, null);
//     }
// 
//     public static JSONResult fail(CodeMsgEnum codeMsgEnum, Object data) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), data);
//     }
// 
//     public static JSONResult fail(CodeMsgEnum codeMsgEnum) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), null);
//     }
// 
//     public static JSONResult fail(Object data) {
//         return ok(CodeMsgEnum.FAIL, data);
//     }
// 
//     public static JSONResult fail() {
//         return ok(CodeMsgEnum.FAIL, null);
//     }
// }


import cn.iflyapi.blog.exception.FlyapiException;
import cn.iflyapi.blog.model.JSONResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
package cn.iflyapi.blog.config;


/**
 * author: flyhero
 * date: 2018-12-13 11:09 AM
 */
@Slf4j
@RestControllerAdvice
public class ErrorHandler {

// Path: src/main/java/cn/iflyapi/blog/exception/FlyapiException.java
// public class FlyapiException extends RuntimeException {
// 
//     private int code = -1;
//     private String msg;
// 
//     public FlyapiException(CodeMsgEnum codeMsgEnum) {
//         this.code = codeMsgEnum.getCode();
//         this.msg = codeMsgEnum.getMsg();
//     }
// 
//     public FlyapiException(int code, String msg) {
//         this.code = code;
//         this.msg = msg;
//     }
// 
//     public FlyapiException(String msg) {
//         this.msg = msg;
//     }
// 
//     public int getCode() {
//         return code;
//     }
// 
//     public void setCode(int code) {
//         this.code = code;
//     }
// 
//     public String getMsg() {
//         return msg;
//     }
// 
//     public void setMsg(String msg) {
//         this.msg = msg;
//     }
// }
// 
// Path: src/main/java/cn/iflyapi/blog/model/JSONResult.java
// @Getter
// @Setter
// public class JSONResult {
// 
//     private int code;
//     private String msg;
//     private boolean success;
//     private Object data;
// 
//     private JSONResult(int code, String msg, boolean success, Object data) {
//         this.code = code;
//         this.msg = msg;
//         this.success = success;
//         this.data = data;
//     }
// 
//     public static JSONResult ok(int code, String msg, Object data) {
//         return new JSONResult(code, msg, true, data);
//     }
// 
//     public static JSONResult ok(CodeMsgEnum codeMsgEnum, Object data) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), data);
//     }
// 
//     public static JSONResult ok(Object data) {
//         return ok(CodeMsgEnum.OK, data);
//     }
// 
//     public static JSONResult ok() {
//         return ok(CodeMsgEnum.OK, null);
//     }
// 
//     public static JSONResult fail(int code, String msg) {
//         return new JSONResult(code, msg, false, null);
//     }
// 
//     public static JSONResult fail(CodeMsgEnum codeMsgEnum, Object data) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), data);
//     }
// 
//     public static JSONResult fail(CodeMsgEnum codeMsgEnum) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), null);
//     }
// 
//     public static JSONResult fail(Object data) {
//         return ok(CodeMsgEnum.FAIL, data);
//     }
// 
//     public static JSONResult fail() {
//         return ok(CodeMsgEnum.FAIL, null);
//     }
// }


// Path: src/main/java/cn/iflyapi/blog/config/ErrorHandler.java
import cn.iflyapi.blog.exception.FlyapiException;
import cn.iflyapi.blog.model.JSONResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

package cn.iflyapi.blog.config;


/**
 * author: flyhero
 * date: 2018-12-13 11:09 AM
 */
@Slf4j
@RestControllerAdvice
public class ErrorHandler {

    @ExceptionHandler(FlyapiException.class)