package com.mpush.mpns.web.common; import io.vertx.core.Handler; import io.vertx.ext.web.RoutingContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.MessageSource; import org.springframework.context.i18n.LocaleContextHolder; /** * Created by yxx on 2016/5/6. * * @author [email protected] */ public class ApiErrorHandler implements Handler<RoutingContext> { private final Logger logger = LoggerFactory.getLogger(this.getClass()); public static ApiErrorHandler create() { return new ApiErrorHandler(); } @Override public void handle(RoutingContext rc) { Throwable e = rc.failure(); int code = 500; String message = null; if (e instanceof ApiException) { ApiException apiException = (ApiException) e; code = apiException.getCode(); message = apiException.getMessage(); } rc.response().end(new ApiResult<>(code, message).toString()); logger.error("api error, code={}, msg={}", code, message, e); } }