中文亂碼在配置文件中配置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); }