오늘도 더 나은 코드를 작성하였습니까?

Ktor Default request 본문

Ktor

Ktor Default request

hik14 2022. 7. 19. 18:26

DefaultRequest  plug in 을 사용하면,

Base URL 지정, 헤더 추가, 쿼리 매개변수 구성 등 모든 요청에 대한 기본 매개변수를 구성할 수 있습니다.

 

plug in install

val client = HttpClient(CIO) {
    install(DefaultRequest)
}

defaultRequest 함수를 호출하고 필요한 요청 매개변수를 구성.

val client = HttpClient(CIO) {
    defaultRequest {
        // this: DefaultRequestBuilder
    }
}

Configure DefaultRequest

Base URL

DefaultRequest를 사용하면 요청 URL과 병합되는 URL의 기본 부분을 구성

defaultRequest {
    url("https://ktor.io/docs/")
}

val response: HttpResponse = client.get("welcome.html")

URL parameters

url 함수를 사용하면 URL 구성 요소를 별도로 지정가능 하다.

url {
    protocol = URLProtocol.HTTPS
    host = "ktor.io"
    path("docs/")
    parameters.append("token", "abc123")
}

Headers

특정 헤더를 추가하려면 헤더 함수를 사용

defaultRequest {
    header("X-Custom-Header", "Hello")
}

헤더 중복을 방지하려면 appendIfNameAbsent, appendIfNameAndValueAbsent function을 사용할 수 있다

defaultRequest {
    headers.appendIfNameAbsent("X-Custom-Header", "Hello")
}

 

'Ktor' 카테고리의 다른 글

Ktor Receiving responses  (0) 2022.07.20
Ktor Intercepting requests using HttpSend  (0) 2022.07.19
Cookie  (0) 2022.07.19