일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ㅓ
- a
- Abstract Factory
- Design Pattern
- El
- 함수형프로그래밍
- designPattern
- Kotlin
- 코틀린
- 팩토리 메소드
- Observer Pattern
- 옵저버 패턴
- 추상 팩토리
- PrototypePattern
- F
- Functional Programming
- 프로토타입 패턴
- factory method
- 디자인패턴
- 디자인패턴 #
- ㅋㅁ
- Singleton
- 추상팩토리패턴
- 빌터패턴
- r
- 싱글톤
- builderPattern
- Today
- Total
목록Ktor (11)
오늘도 더 나은 코드를 작성하였습니까?
기본적으로 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가 아닌 오류..
HTTP Request(request, get, post, etc.) 을 만드는 데 사용되는 모든 기능을 사용하면 HttpResponse 개체로 응답을 받을 수 있다. HttpResponse는 다양한 방법(raw 바이트, JSON 객체 등)으로 Request Body을 가져오고, status code, contents type, header 등과 같은 응답 매개변수를 가져오는 데 필요한 API를 이용한다. val response: HttpResponse = client.get("https://ktor.io/docs/welcome.html") Receive response body Raw body String으로 수신 val httpResponse: HttpResponse = client.get("http..
HttpSend 플러그인을 사용하면 응답에 따라 HTTP 호출을 모니터링하고 재시도할 수 있습니다. 예를 들어, 서버가 오류 응답(4xx 또는 5xx 상태 코드 포함)을 반환하는 경우 호출 로깅을 구현하거나 요청을 재시도할 수 있습니다. HttpSend 플러그인은 설치가 필요하지 않습니다. 사용하려면 HttpSend를 HttpClient.plugin 함수에 전달하고 intercept 메서드를 호출합니다. 아래 예는 응답 상태 코드에 따라 요청을 재시도하는 방법을 보여줍니다. val client = HttpClient(Apache) client.plugin(HttpSend).intercept { request -> val originalCall = execute(request) if (originalCal..
기본적으로 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..