Hello, Freakin world!

[Zuul] post 타입 필터 작성 - 응답에 헤더 추가하기 본문

Spring Cloud/Gateway

[Zuul] post 타입 필터 작성 - 응답에 헤더 추가하기

johnna_endure 2021. 3. 18. 20:11

포스트 타입 필터는 주울에서 클라이언트에게 반환하는 응답을 감시, 수정하는 용도로 사용합니다.

 

이전에 사전 필터에서 correlation-id 라는 헤더를 모든 요청에 추가해서 보냈습니다.

그 과정에서 RequestContext에 저장했던 correlation-id를 응답에 추가하는 필터를 만들어 보겠습니다.

 

아주 간단합니다.

 

ResponseFilter

package springboot.cloud.zuulexample.filter;
import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import com.netflix.zuul.exception.ZuulException;

import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.POST_TYPE;

public class ResponseFilter extends ZuulFilter {

    @Override
    public String filterType() {
        return POST_TYPE;
    }

    @Override
    public int filterOrder() {
        return 1;
    }

    @Override
    public boolean shouldFilter() {
        return true;
    }

    @Override
    public Object run() throws ZuulException {
        RequestContext context = RequestContext.getCurrentContext();
        context.addZuulResponseHeader("correlation-id", context.getZuulRequestHeaders().get("correlation-id"));
        return null;
    }
}

 

getZuulRequestHeaders를 통해 헤더 값을 꺼내고 addZuulResponseHeader를 통해 꺼낸 값을 넣어줍니다.


전체 코드

 

 

johnna-endure/spring-cloud-study

Contribute to johnna-endure/spring-cloud-study development by creating an account on GitHub.

github.com

 

Comments