Partner – CAST AI – NPI EA (tag = kubernetes)
The Kubernetes ecosystem is huge and quite complex, so it’s easy to forget about costs when trying out all of the exciting tools.
To avoid overspending on your Kubernetes cluster, definitely have a look at the free K8s cost monitoring tool from the automation platform CAST AI. You can view your costs in real time, allocate them, calculate burn rates for projects, spot anomalies or spikes, and get insightful reports you can share with your team.
Connect your cluster and start monitoring your K8s costs right away:
>> FREE Kubernetes cost monitoring
Partner – MongoDB – NPI EA (tag = MongoDB) Course – LS (cat=HTTP Client-Side)
In this short tutorial, we'll learn how to create a dynamic URL in Retrofit2.
2. @Url Annotation
There are cases when we need to use a dynamic URL in our application during runtime. Version 2 of the Retrofit library introduced the @Url annotation that allows us to pass a complete URL for an endpoint:
Call<ResponseBody> reposList(@Url String url);
This annotation is based on the HttpUrl class from OkHttp's library, and the URL address is solved like a link on a page using <a href=“”>. When using the @Url parameter, we don't need to specify the address in the @GET annotation.
The @Url parameter replaces our baseUrl from the service implementation:
Retrofit retrofit = new Retrofit.Builder()
What is important is that if we want to use the @Url annotation, it must be set as the first parameter in the service method.
3. Path Param
If we know that some part of our base URL will be constant, but we don't know the extension of it or the number of parameters that will be used, we can use the @Path annotation and the encoded flag:
Call<List<Contributor>> contributorsList(@Path(value = "fullUrl", encoded = true) String fullUrl);
This way, all “/” won't be replaced by %2F, as if we had not used the encoded parameter. However, all characters “?” in the passed address still will be replaced by %3F.
The Retrofit library allows us to easily provide a dynamic URL during application runtime by using only the @Url annotation.
As usual, all code examples can be found over on GitHub.
Course – LS (cat=HTTP Client-Side) res – HTTP Client (eBook) (cat=Http Client-Side)