>

클라이언트 및 서버에 Java Spring WebFlux를 사용하고 있으며 사용자 정의 헤더를 추가하여 클라이언트에서 서버로 요청을 사용자 정의하려고합니다. 이미 다른 목적으로 WebFilter를 사용하고 있지만 들어오는 요청 및 응답 (예 : FE의 요청 및 응답)에서만 작동하는 것 같습니다.


  • 답변 # 1

    맞춤 헤더를 지정하는 방법에는 여러 가지가 있습니다.

    헤더가 정적 인 경우 WebClient 중에 지정할 수 있습니다   defaultHeader 를 사용한 인스턴스 생성  또는 defaultHeaders  방법 :

    WebClient.builder().defaultHeader("headerName", "headerValue")
    WebClient.builder().defaultHeaders(headers -> headers.add("h1", "hv1").add("h2", "hv2"))
    
    

    헤더가 동적이지만 헤더 값 생성이 모든 요청에 ​​공통 인 경우 ExchangeFilterFunction.ofRequestProcessor 를 사용할 수 있습니다   WebClient 동안 구성  인스턴스 생성 :

    WebClient.builder()
        .filter(ExchangeFilterFunction.ofRequestProcessor(
            request -> request.headers().add("headerName", getHeaderValuePer(request)))
        )
        .build();
    
    

    WebClient 를 사용할 때마다 헤더가 동적이고 특정한 경우 통화 당 헤더를 구성 할 수 있습니다.

    webClient.get()
        .header("headerName", getHeaderValue(params))
        .retrieve();
    
    

관련 자료

  • 이전 c# - MongoDB에서 여러 세션이 왜 하나보다 빠릅니까?
  • 다음 c# - ASPNET Core에서 범위가 지정된 개체를 해결하는 단일 팩토리를 등록하는 방법은 무엇입니까?