일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- builderPattern
- Abstract Factory
- 추상 팩토리
- 옵저버 패턴
- Kotlin
- a
- 빌터패턴
- r
- 코틀린
- PrototypePattern
- ㅓ
- 팩토리 메소드
- factory method
- 추상팩토리패턴
- F
- 디자인패턴 #
- 프로토타입 패턴
- Design Pattern
- ㅋㅁ
- El
- Functional Programming
- Singleton
- Observer Pattern
- 디자인패턴
- 싱글톤
- 함수형프로그래밍
- designPattern
- Today
- Total
목록Ktor/Client (7)
오늘도 더 나은 코드를 작성하였습니까?
기본적으로 Ktor는 status code에 따라 응답의 유효성을 검사하지 않습니다. - expectSuccess을 이용하여, 2xx가 아닌 응답에 대한 예외를 발생시킨다. - 2xx 응답에 대한 더 엄격한 유효성 검사를 추가한다. - 2xx가 아닌 응답의 유효성 검사를 사용자 지정. Enable default validation Ktor를 사용하면 expectSuccess 속성을 true로 설정하여 기본 유효성 검사를 활성화할 수 있습니다. 클라이언트 구성 수준에서 수행할 수 있습니다 import io.ktor.client.* import io.ktor.client.engine.cio.* val client = HttpClient(CIO) { expectSuccess = true } 2xx가 아닌 오류..
기본적으로 Ktor 클라이언트는 네트워크 또는 서버 오류로 인해 실패한 request를 재시도하지 않습니다. HttpRequestRetry 플러그인을 사용하여 실패한 요청에 대한 재시도 정책을 다양한 방법으로 구성할 수 있습니다. - 재시도 횟수 지정 - 요청 재시도 조건 - 재시도 전에 요청 수정 Install HttpRequestRetry val client = HttpClient(CIO) { install(HttpRequestRetry) } Configure HttpRequestRetry Basic retry configuration val client = HttpClient(CIO) { install(HttpRequestRetry) { retryOnServerErrors(maxRetries = 5..
user agent는 HTTP 요청을 보내는 디바이스와 브라우저 등 사용자 소프트웨어의 식별 정보를 담고 있는 request header의 한 종류이다. 임의로 수정될 수 없는 값이고, 보통 HTTP 요청 에러가 발생했을 때 요청을 보낸 사용자 환경을 알아보기 위해 사용한다. val client = HttpClient(CIO) { install(UserAgent) { agent = "Ktor client" } } Ktor는 또한 function 을 사용하여 browser 또는 curl 과 같은 User-Agent 값을 추가할 수 있다 val client = HttpClient(CIO) { BrowserUserAgent() // ... or CurlUserAgent() }
클라이언트를 설정한 후 HTTP 요청을 할 수 있습니다. HTTP 요청을 하는 주된 방법은 URL을 매개변수로 받을 수 있는 request function 입니다. 함수 내에서 다양한 요청 매개변수를 구성할 수 있습니다. - GET, POST, PUT, DELETE, HEAD, OPTION 또는 PATCH와 같은 HTTP 메서드 지정 - URL을 문자열로 지정하거나 URL 구성 요소(도메인, 경로, 쿼리 매개변수 등)를 별도로 구성합니다. - header / cookies 추가한다. - request 본문(예: 일반 텍스트, 데이터 개체 또는 양식 매개변수)을 설정 httpClient.request("www.naver.com"){ method= HttpMethod.Get header{ ... } cook..