1
resposta

Lidando com espaços em branco

Na aula "Criando nossa própria exceção" a professora Jacqueline deixou um desafio para resolver problemas com espaços em branco em URL. Eu utilizei o seguinte trecho de código, que compilou normalmente. Gostaria de saber se esta seria um tipo de solução que é empregada ou se teria outras formas.

(como eu fiz)

    String enderecoBase = "https://www.omdbapi.com/?t=";
    String chave = "&apikey=96433339";
    String url = URLEncoder.encode(busca, "UTF-8");

    var endereco = enderecoBase + url + chave;
    

(o que foi passado na aula)

    String endereco = "https://www.omdbapi.com/?t=" + busca.replace(" ", "+") + "&apikey=96433339";
    

(Saída no terminal) (https://cdn1.gnarususercontent.com.br/1/4700373/95a61fb5-40e7-4bb3-bcc4-02e2a883e32d.png)

     {"Title":"Top Gun","Year":"1986","Rated":"PG","Released":"16 May 1986","Runtime":"109 min","Genre":"Action, Drama","Director":"Tony Scott","Writer":"Jim Cash, Jack Epps Jr., Ehud Yonay","Actors":"Tom Cruise, Tim Robbins, Kelly McGillis","Plot":"The Top Gun Naval Fighter Weapons School is where the best of the best train to refine their elite flying skills. When hotshot fighter pilot Maverick is sent to the school, his reckless attitude and cocky demeanor put him at odds ...","Language":"English","Country":"United States","Awards":"Won 1 Oscar. 11 wins & 9 nominations total","Poster":"https://m.media-amazon.com/images/M/MV5BZmVjNzQ3MjYtYTZiNC00Y2YzLWExZTEtMTM2ZDllNDI0MzgyXkEyXkFqcGc@._V1_SX300.jpg","Ratings":[{"Source":"Internet Movie Database","Value":"6.9/10"},{"Source":"Rotten Tomatoes","Value":"58%"},{"Source":"Metacritic","Value":"50/100"}],"Metascore":"50","imdbRating":"6.9","imdbVotes":"513,484","imdbID":"tt0092099","Type":"movie","DVD":"N/A","BoxOffice":"$180,258,178","Production":"N/A","Website":"N/A","Response":"True"}
TituloOmdb[title=Top Gun, year=1986, runtime=109 min]
Titulo convertido: titulo = 'Top Gun', lancamento=1986,Duração: 10
Programa finalizado com sucesso
1 resposta

Oi Marcos!

Que bom que você está explorando diferentes maneiras de lidar com espaços em branco nas URLs! Ambas as abordagens que você mencionou são válidas, mas têm suas particularidades.

  1. Uso do URLEncoder.encode: Essa é uma abordagem boa, o URLEncoder codifica toda a string, garantindo que todos os caracteres especiais sejam convertidos para um formato seguro para URLs. Isso é útil quando você não tem certeza sobre quais caracteres podem aparecer na string de busca.

  2. Uso do replace: Essa abordagem é mais simples e direta, substituindo apenas os espaços por +. Funciona bem se você tiver certeza de que a única questão a tratar são os espaços.

    
    

Ambas as soluções são boas, mas a escolha entre elas depende do contexto e da complexidade do que você tá tentando resolver. Se você está lidando apenas com espaços, a abordagem replace é suficiente. Para uma solução mais abrangente e segura, especialmente em casos onde a entrada do usuário pode conter outros caracteres especiais, o URLEncoder é uma boa.

Um abraço e bons estudos.