1
resposta

[Projeto] A API do cheapshark não retorna mais o código 200 em requisições de registros que não existe

A API do cheapshark não retorna mais o código 200 em requisições de registros que não existe. Ex.:

curl --request GET \
  --url 'https://www.cheapshark.com/api/1.0/games?id=174' \
  --header 'User-Agent: insomnia/8.6.0'

Agora retorna 404 Not Found

Com isso acaba quebrando em outros locais diferente do que é apresentado na aula 03/03.

1 resposta

Olá, Cristiano! Entendo que a mudança no comportamento da API do Cheapshark esteja causando problemas em seu código. A API agora retorna um código 404 quando tentamos acessar um registro que não existe, ao invés do código 200 que era esperado.

Nesse caso, você pode adicionar um tratamento de erro específico para o código 404 em sua requisição. No Kotlin, você pode usar a estrutura try-catch para capturar a exceção e lidar com ela. No seu caso, você pode capturar a exceção HttpException, que é lançada quando um código de status HTTP é inesperado. Aqui está um exemplo de como você pode fazer isso:

try {
    // Sua requisição aqui
} catch (ex: HttpException) {
    if (ex.code() == 404) {
        println("Registro não encontrado.")
    } else {
        println("Ocorreu um erro desconhecido.")
    }
}

No exemplo acima, se a API retornar um código 404, o programa imprimirá "Registro não encontrado.". Se a API retornar qualquer outro código de status inesperado, o programa imprimirá "Ocorreu um erro desconhecido.".

Espero que isso resolva o seu problema! Lembre-se que é sempre importante tratar possíveis erros que possam ocorrer durante a execução do seu programa, especialmente quando você está lidando com APIs externas que podem mudar seu comportamento.

Espero ter ajudado e bons estudos!