반응형
해당 글에서는 Java 11 버전을 기준으로 WebClient 클래스의 API에 대해서 확인합니다.
1) WebClient
💡 WebClient
- WebFlux의 일부인 WebClient는 비동기적인 방식으로 HTTP 요청을 보내고 응답을 받을 수 있는 라이브러리를 의미합니다.
- 다수의 외부 API 호출이나, 다른 서비스들과의 통합 작업에서 유용합니다.
- WebFlux의 WebClient는 비동기적인 방식으로 HTTP 요청을 보내고 응답을 받을 수 있는 라이브러리입니다. 이를 통해 Reactive Streams를 이용하여 높은 성능의 네트워크 통신을 구현할 수 있습니다.
2) WebClient Class Method
💡 해당 API 문서는 Java 11 버전을 기준으로 요약 정리한 API Doucument입니다.
💡 "분류" 부분은 개인적인 기준으로 분류를 하였으니 참고하시면 도움이 될 것 같습니다.
1. Web Client API Method
메서드 | 리턴 값 | 분류 | 설명 |
create() | WebClient 인스턴스 | 인스턴스 생성 | WebClient 인스턴스를 생성합니다. |
get() | - | HTTP 메소드 | GET 요청을 정의합니다. |
post() | - | HTTP 메소드 | POST 요청을 정의합니다. |
put() | - | HTTP 메소드 | PUT 요청을 정의합니다. |
delete() | - | HTTP 메소드 | DELETE 요청을 정의합니다. |
head() | - | HTTP 메소드 | HEAD 요청을 정의합니다. |
options() | - | HTTP 메소드 | OPTIONS 요청을 정의합니다. |
patch() | - | HTTP 메소드 | PATCH 요청을 정의합니다. |
method() | - | HTTP 메소드 | 지정된 HTTP 메소드로 요청을 정의합니다. |
uri() | - | URI | 요청할 엔드포인트 URL을 지정합니다. |
body() | - | 요청 바디 | 요청 바디에 담을 데이터를 설정합니다. |
bodyValue() | - | 요청 바디 | 요청 바디에 담을 데이터를 설정합니다. |
bodyToMono() | Mono | 응답 결과 | 응답 결과를 Mono로 래핑합니다. |
bodyToFlux() | Flux | 응답 결과 | 응답 결과를 Flux로 래핑합니다. |
retrieve() | ResponseSpec | 응답 결과 | 요청 결과를 가져오는 ResponseSpec 인스턴스를 반환합니다. |
exchange() | ClientResponse | 응답 결과 | 요청 결과를 ClientResponse 인스턴스로 가져옵니다. |
exchangeToMono() | Mono | 응답 결과 | 요청 결과를 Mono로 래핑합니다. |
exchangeToFlux() | Flux | 응답 결과 | 요청 결과를 Flux로 래핑합니다. |
exchangeToBodilessEntity() | ResponseEntity<Void> | 응답 결과 | 응답 결과를 ResponseEntity<Void>로 래핑합니다. |
toEntity() | ResponseEntity | 응답 결과 | 응답 결과를 ResponseEntity로 래핑합니다. |
headers() | - | 요청 헤더 | 요청 헤더를 설정합니다. |
header() | - | 요청 헤더 | 요청 헤더를 설정합니다. |
cookies() | - | 요청 헤더 | 쿠키를 설정합니다. |
cookie() | - | 요청 헤더 | 쿠키를 설정합니다. |
accept() | - | 요청 헤더 | 요청 헤더에서 Accept 헤더를 설정합니다. |
acceptCharset() | - | 요청 헤더 | 요청 헤더에서 Accept-Charset 헤더를 설정합니다. |
acceptEncoding() | - | 요청 헤더 | 요청 헤더에서 Accept-Encoding 헤더를 설정합니다. |
acceptLanguage() | - | 요청 헤더 | 요청 헤더에서 Accept-Language 헤더를 설정합니다. |
contentType() | - | 요청 헤더 | 요청 헤더에서 Content-Type 헤더를 설정합니다. |
contentLength() | - | 요청 헤더 | 요청 헤더에서 Content-Length 헤더를 설정합니다. |
ifModifiedSince() | - | 요청 헤더 | 요청 헤더에서 If-Modified-Since 헤더를 설정합니다. |
ifNoneMatch() | - | 요청 헤더 | 요청 헤더에서 If-None-Match 헤더를 설정합니다. |
onStatus() | - | 예외 처리 | 지정된 HTTP 상태 코드에 대한 처리를 정의합니다. |
onErrorResume() | - | 예외 처리 | 지정된 예외가 발생했을 때 대체 동작을 정의합니다. |
2. WebClient Builder API Method
메서드 | 리턴 값 | 분류 | 설명 |
baseUrl(String baseUrl) | WebClient | 일반적인 설정 | WebClient 인스턴스의 기본 URL을 설정합니다. |
codecs(Consumer<CodecConfigurer> configurer) | WebClient | 일반적인 설정 | 요청 및 응답 바디에 사용할 코덱을 구성합니다. |
defaultCookie(String name, String value) | WebClient | 일반적인 설정 | 요청에 대한 기본 쿠키 값을 설정합니다. |
defaultHeader(String headerName, String... headerValues) | WebClient | 일반적인 설정 | 요청에 대한 기본 헤더 값을 설정합니다. |
defaultUriVariables(Map<String, ?> defaultUriVariables) | WebClient | 일반적인 설정 | 확장된 URI 템플릿에서 사용할 기본 URI 변수를 설정합니다. |
defaultUriVariables(Consumer<UriBuilderFactory> builderConsumer) | WebClient | 일반적인 설정 | UriBuilderFactory를 사용하여 확장된 URI 템플릿에서 사용할 기본 URI 변수를 설정합니다. |
exchangeStrategies(ExchangeStrategies strategies) | WebClient | 일반적인 설정 | 요청 및 응답 바디에 사용할 교환 전략을 구성합니다. |
filter(ExchangeFilterFunction filterFunction) | WebClient | 일반적인 설정 | ExchangeFilterFunction을 WebClient 인스턴스에 추가합니다. |
filters(Consumer<List<ExchangeFilterFunction>> filters) | WebClient | 일반적인 설정 | 여러 ExchangeFilterFunction을 WebClient 인스턴스에 추가합니다. |
accept(MediaType... acceptableMediaTypes) | RequestHeadersSpec<?> | 요청 설정 | 응답에 대한 허용 가능한 미디어 유형을 설정합니다. |
attribute(String name, Object value) | WebClient.RequestBodyUriSpec | 요청 설정 | 요청에 속성을 추가합니다. |
body(BodyInserter<?, ? super ClientHttpRequest> inserter) | WebClient.RequestHeadersSpec<?> | 요청 설정 | 요청 바디를 설정합니다. |
body(BodyInserter<?, ? super ClientHttpRequest> inserter, Class<?> elementClass) | WebClient.RequestHeadersSpec<?> | 요청 설정 | 요청 바디를 설정하고 요소의 클래스를 지정합니다. |
cookies(Consumer<MultiValueMap<String, HttpCookie>> cookiesConsumer) | WebClient.RequestHeadersSpec<?> | 요청 설정 | 요청에 쿠키를 추가합니다. |
header(String headerName, String... headerValues) | WebClient.RequestHeadersSpec<?> | 요청 설정 | 요청에 헤더를 추가합니다. |
headers(Consumer<HttpHeaders> headersConsumer) | WebClient.RequestHeadersSpec<?> | 요청 설정 | 요청에 여러 헤더를 추가합니다. |
ifModifiedSince(ZonedDateTime ifModifiedSince) | WebClient.RequestHeadersSpec<?> | 요청 설정 | 요청의 "If-Modified-Since" 헤더를 설정합니다. |
ifNoneMatch(String ifNoneMatch) | WebClient.RequestHeadersSpec<?> | 요청 설정 | 요청의 "If-None-Match" 헤더를 설정합니다. |
uri(URI uri) | WebClient.RequestBodySpec | 요청 설정 | 요청 URI를 설정합니다. |
uri(String uri, Object... uriVariables) | WebClient.RequestBodySpec | 요청 설정 | 포맷된 문자열과 URI 변수를 사용하여 요청 URI를 설정합니다. |
get() | WebClient.ResponseSpec | HTTP 메소드 | GET 요청을 설정합니다. |
post() | WebClient.ResponseSpec | HTTP 메소드 | POST 요청을 설정합니다. |
put() | WebClient.ResponseSpec | HTTP 메소드 | PUT 요청을 설정합니다. |
delete() | WebClient.ResponseSpec | HTTP 메소드 | DELETE 요청을 설정합니다. |
head() | WebClient.ResponseSpec | HTTP 메소드 | HEAD 요청을 설정합니다. |
options() | WebClient.ResponseSpec | HTTP 메소드 | OPTIONS 요청을 설정합니다. |
patch() | WebClient.ResponseSpec | HTTP 메소드 | PATCH 요청을 설정합니다. |
method() | WebClient.RequestBodySpec | HTTP 메소드 | 지정된 HTTP 메소드로 요청을 설정합니다. |
3) 참고
💡 WebClient에 대해서 궁금하시다면 아래의 글이 도움이 됩니다
오늘도 감사합니다. 😀
반응형
'Java > API Document' 카테고리의 다른 글
[Java/API] Assertions Method API Document : JUnit 5 (0) | 2023.12.15 |
---|---|
[Java/API] LinkedList Method API Document : Java 11 (0) | 2023.11.18 |
[Java/API] Priority Queue Method API Document : Java 11 (0) | 2023.07.20 |
[Java/API] Queue Method API Document : Java 11 (0) | 2023.07.15 |
[Java/API] Stack Method API Document : Java 11 (0) | 2023.07.08 |