
spring: cloud: gateway: routes: - id: add_request_header_route uri: http://c.biancheng.net filters: - AddRequestHeader=X-Request-Foo, Bar
@GetMapping("/hello")
public String hello(HttpServletRequest request) throws Exception {
System.err.println(request.getHeader("X-Request-Foo"));
return "success";
}
spring: cloud: gateway: routes: - id: removerequestheader_route uri: http://c.biancheng.net - RemoveRequestHeader=X-Request-Foo
NOT_FOUND。 spring: cloud: gateway: routes: - id: setstatusint_route uri: http://c.biancheng.net filters: - SetStatus=401
spring: cloud: gateway: routes: - id: prefixpath_route uri: http://c.biancheng.net filters: - RedirectTo=302, http://baidu.com
@Component
public class CheckAuth2GatewayFilterFactory
extends AbstractGatewayFilterFactory<CheckAuth2GatewayFilterFactory.Config> {
public CheckAuth2GatewayFilterFactory() {
super(Config.class);
}
@Override
public GatewayFilter apply(Config config) {
return (exchange, chain) -> {
System.err.println("进入了CheckAuth2GatewayFilterFactory" + config.getName());
ServerHttpRequest request = exchange.getRequest().mutate()
.build();
return
chain.filter(exchange.mutate().request(request).build());
}
}
public static class Config {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
}
filters: - name: CheckAuth2 args: name: 张三
@Component
public class CheckAuthGatewayFilterFactory extends AbstractNameValueGatewayFilter-actory {
@Override
public GatewayFilter apply(NameValueConfig config) {
return (exchange, chain) -> {
System.err.println("进入了CheckAuthGatewayFilterFactory" + config.getName() + "\t" + config.getValue());
ServerHttpRequest request = exchange.getRequest().mutate().build();
return chain.filter(exchange.mutate().request(request).build());
};
}
}
filters: CheckAuth=zhangsan,男
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70006413/viewspace-2793810/ ,如需转载,请注明出处,否则将追究法律责任。