重写Ordered和GlobalFilter
class AuthFilter implements GlobalFilter, Ordered {}
getOrderf返回数值越小,优先级越高
@Override
public int getOrder() {
return NettyWriteResponseFilter.WRITE_RESPONSE_FILTER_ORDER - 1;
}
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {}
Getaway返回响应体
public class ResponeUtils {
public DataBuffer getResponeBuffer( ServerHttpResponse response){
JSONObject jsonObject = new JSONObject();
jsonObject.put("status",-1);
//把json对象转换成字节数组
byte[] bits = jsonObject.toJSONString().getBytes(StandardCharsets.UTF_8);
//把字节数据转换成一个DataBuffer
DataBuffer buffer = response.bufferFactory().wrap(bits);
return buffer ;
}
使用
DataBuffer buffer = responeUtils.getResponeBuffer(response);
return response.writeWith(Mono.just(buffer));
Comments | NOTHING