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

[Dúvida] Erro 500 na requisição get

TRECHO DO MEU CODIGO:

@GetMapping("/{titulo}") public ResponseEntity listarFilmesDaPesquisa(@PathVariable String titulo) throws IOException, InterruptedException { return ResponseEntity.ok().body(service.listarFilmesPesquisados(titulo)); }

"status": 500, "error": "Internal Server Error", "trace": "java.lang.IllegalArgumentException: URI with undefined scheme\r\n\tat java.net.http/jdk.internal.net.http.common.Utils.newIAE(Utils.java:378)\r\n\tat java.net.http/jdk.internal.net.http.HttpRequestBuilderImpl.checkURI(HttpRequestBuilderImpl.java:79)\r\n\tat java.net.http/jdk.internal.net.http.HttpRequestBuilderImpl.uri(HttpRequestBuilderImpl.java:71)\r\n\tat java.net.http/jdk.internal.net.http.HttpRequestBuilderImpl.uri(HttpRequestBuilderImpl.java:43)\r\n\tat

1 resposta
solução!

Oi, Henrique! Tudo bem?

De acordo com a mensagem de erro, parece que o erro 500 (Internal Server Error) está ocorrendo devido a um problema na construção da URI na nossa requisição HTTP, pois o erro java.lang.IllegalArgumentException: URI with undefined scheme sugere que a URI que estamos passando para o método listarFilmesPesquisados não está correta ou está faltando o esquema (por exemplo, http:// ou https://).

Dessa forma, devemos verificar os seguintes pontos:

  1. Verificar a URI que está sendo construída: Devemos nos certificar de que a URI que está sendo passada para o método listarFilmesPesquisados está completa e correta. Por exemplo, se estamos concatenando strings para formar a URI, devemos verificar se todas as partes estão corretas.

  2. Esquema da URI: Devemos nos certificar de que a URI inclui o esquema (http:// ou https://), por exemplo:

    String uri = "http://api.exemplo.com/filmes?titulo=" + titulo;
    
  3. Tratamento de exceções: Podemos também adicionar um bloco try-catch para capturar e logar a exceção, para que possamos ver exatamente onde o problema está ocorrendo:

    @GetMapping("/{titulo}")
    public ResponseEntity listarFilmesDaPesquisa(@PathVariable String titulo) {
        try {
            return ResponseEntity.ok().body(service.listarFilmesPesquisados(titulo));
        } catch (Exception e) {
            e.printStackTrace();
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Erro ao processar a requisição");
        }
    }
    

Espero ter ajudado!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓