Jonathan
09/12/2024, 3:42 PMGET
does not allow me to properly override the base URL set for my HttpClient
.
The route.path
returns a fully qualified url ie *https://movies-test.com/sp-json/v1/movies*
But this doesn’t override the URL merging strategy of HttpClient.defaultRequest
My resolved URL looks like so:
_*https://movies-test.com/sp-json/v1/https://movies-test.com/sp-json/v1/movies*_
client.get {
url {
path(route.path)
if (components.isNotEmpty()) {
appendPathSegments(components = components)
}
}
requestBody?.let(::setBody)
}
Here is how I setup my HttpClient
defaultRequest {
url {
url.takeFrom(baseUrl)
parameters.appendIfNameAndValueAbsent("output", "json")
}
headers.appendIfNameAbsent(
name = HttpHeaders.ContentType,
value = ContentType.Application.Json.toString()
)
headers.appendIfNameAbsent("token", apiToken)
}
Chrimaeon
09/12/2024, 5:53 PMpath
. you need to replace the url
with route.path
Chrimaeon
09/12/2024, 5:54 PMclient.get(route.path)
Chrimaeon
09/12/2024, 5:55 PMAleksei Tirman [JB]
09/13/2024, 3:52 AMbaseUrl
look like?Jonathan
09/13/2024, 1:36 PMget(...)
instead of using path(…)