Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Serviço fora do ar, maaas...

O seviço http://ec2-18-215-156-13.compute-1.amazonaws.com:8080/ está fora do ar, como muitos já informaram aqui no forum, mas para não deixar de fazer as aulas, podemos utilizar APIs públicas e usar o conhecimento adquirido adaptando nossas classes.

Aqui na Alura mesmo, já vi utilizando esta API de filmes: https://www.omdbapi.com/

As minhas classes adaptadas com esta API ficaram assim:

HttpConfiguration

@Configuration
class MovieHttpConfiguration {

    companion object {
        const val BASE_URL = "https://www.omdbapi.com/"
        const val API_KEY = "SUA_CHAVE_GERADO_NO_SITE_OMDBAPI"
    }

    private fun buildClient() = OkHttpClient.Builder().build()

    private fun buildRetrofit() = Retrofit.Builder()
        .baseUrl(BASE_URL)
        .addConverterFactory(GsonConverterFactory.create())
        .client(buildClient())
        .build()

    @Bean
    fun movieHttpService(): MovieHttpService = buildRetrofit().create(MovieHttpService::class.java)
}

MovieHttp

import com.google.gson.annotations.SerializedName

data class MovieHttp(
    @SerializedName("imdbRating") val imdbRating: Double,
    @SerializedName("imdbID") val imdbID: String,
    @SerializedName("Title") val title: String,
)

MovieHttpService

@Service
interface MovieHttpService {

    @GET("/")
    fun getByImdb(
        @Query("apikey") apiKey: String,
        @Query("i") imdbId: String
    ): Call<MovieHttp>
}

Aqui eu só me atentei em botar as classes Https, que são as informações novas mencionadas no curso.

Neste repositório há diversas APIs públicas e ativas para podermos fazer os testes, só escolher e adaptar o código: https://github.com/public-apis/public-apis

Aqui funcionou perfeitamente.

1 resposta
solução!

Oi Matheus! Tudo joia?

Que bacana ver sua proatividade em encontrar uma solução alternativa enquanto o serviço original está fora do ar. Utilizar APIs públicas é uma excelente forma de continuar praticando e aplicando o conhecimento adquirido.

Gostei bastante da forma como você adaptou suas classes para utilizar a API do OMDB. A estrutura está bem organizada e clara.

Parabéns pela iniciativa e pela contribuição ao fórum!

Bons estudos!