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")
}