Commit 05eb2e45 by huangfusuper

网关返回结果封装

parent b1f3f9e2
......@@ -45,8 +45,7 @@
<dependency>
<groupId>myth-job</groupId>
<artifactId>myth-web-core</artifactId>
<version>1.0-SNAPSHOT</version>
<artifactId>myth-core-common</artifactId>
</dependency>
......
package com.byit.gateway.controller;
import com.byit.dto.web.ResponseResult;
import com.byit.enums.TransferResultEnum;
import com.netflix.zuul.context.RequestContext;
import com.netflix.zuul.exception.ZuulException;
import org.springframework.boot.autoconfigure.web.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
/**
* @author huangfu
*/
@RestController
public class ErrorHandlerController implements ErrorController {
@Override
public String getErrorPath() {
return "/error";
}
@RequestMapping(value = "/error", produces={"application/json; charset=utf-8"})
public Object error(HttpServletResponse response){
RequestContext ctx = RequestContext.getCurrentContext();
ZuulException exception = (ZuulException)ctx.getThrowable();
String msg = "";
String code = "";
if (exception == null) {
code = TransferResultEnum.ERROR.getCode();
msg = "网关异常:"+TransferResultEnum.ERROR.getMsg();
}else {
msg ="网关异常:" + exception.getMessage();
code = exception.nStatusCode+"";
}
ResponseResult responseResult = new ResponseResult();
responseResult.setMsg(msg);
responseResult.setTimeCost(System.currentTimeMillis());
responseResult.setCode(code);
return responseResult;
}
}
package com.byit.gateway.filters;
import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author huangfu
*/
public class ResponseGlobalFilter extends ZuulFilter {
@Override
public String filterType() {
return FilterConstants.POST_TYPE;
}
@Override
public int filterOrder() {
return 900;
}
@Override
public boolean shouldFilter() {
return true;
}
@Override
public Object run() {
RequestContext ctx = RequestContext.getCurrentContext();
String responseBody = ctx.getResponseBody();
System.out.println(responseBody);
return null;
}
}
......@@ -34,3 +34,6 @@ spring:
zuul:
ignored-services: '*'
# sendErrorFilter:
# error:
# disable: true
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment