中文乱码在配置文件中配置java
##处理中文乱码spring
spring:
http:
encoding:
charset: UTF-8
enabled: true
force: trueapache
###注册 中心 eureka: client: serviceUrl: defaultZone: http://localhost:8100/eureka/ server: port: 80 ###网关名称 spring: application: name: service-zuul ##处理中文乱码 http: encoding: charset: UTF-8 enabled: true force: true ### 配置网关反向代理 zuul: routes: ###本身命名 api-member: ### 以 /api-member/访问转发到会员服务 path: /api-member/** ##会员在注册中心的别名 serviceId: member api-order: ### 以 /api-order/访问转发到订单服务 path: /api-order/** ##订单在注册中心的别名 serviceId: order
import com.netflix.discovery.util.StringUtil; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; import com.netflix.zuul.exception.ZuulException; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @Component public class TokeFilter extends ZuulFilter { /** * pre:能够在请求被路由以前调用 * route:在路由请求时候被调用 * post:在route和error过滤器以后被调用 * error:处理请求时发生错误时被调用 * */ @Override public String filterType() { return "pre"; } //过滤器执行顺序 @Override public int filterOrder() { return 0; } //是否开启过滤器 @Override public boolean shouldFilter() { return true; } @Override public Object run() throws ZuulException { //获取上下文 RequestContext context=RequestContext.getCurrentContext(); HttpServletRequest request= context.getRequest(); String username=request.getParameter("userName"); if(StringUtils.isEmpty(username)){ context.setSendZuulResponse(false); context.setResponseBody("没有登陆"); return null; } return null; } }
@SpringBootApplication @EnableEurekaClient @EnableZuulProxy public class ZuulStar { public static void main(String[] args) { SpringApplication.run(ZuulStar.class,args); }