4
respostas

Inclusão da variável de ambiente - ENDEREÇO E API_KEY

package br.com.alura.screenmatch.Principal;

import br.com.alura.screenmatch.service.ConsumoApi;
import org.springframework.beans.factory.annotation.Value;

import java.util.Scanner;

public class Principal {

    // Estou indicando, scaniando a entrada que está vindo da interface
    private Scanner leitura = new Scanner(System.in);
    
    private ConsumoApi consumo = new ConsumoApi();

    @Value("${ENDERECO}")
    private String ENDERECO;

    @Value("${API_KEY}")
    private String API_KEY;

    public Principal() {
    }

    public void exibeMenu () {
        System.out.println("Bem vindo ao ScreenMatch");
        System.out.println("Digite o nome da série");

        var nomeSerie = leitura.nextLine();
        var json = consumo.obterDados(ENDERECO + nomeSerie.replace(" ", "+") + API_KEY);
    }

}

Inclui como variável de ambiente , diante da sugestão passada na aula! Gostaria de um feedback.

Atenciosamente.

4 respostas

Olá, Marco!

Parece que você seguiu as instruções da aula corretamente e implementou as variáveis de ambiente como sugerido. No entanto, para que possamos verificar se a implementação está correta, precisamos saber como você está definindo e acessando essas variáveis de ambiente.

No seu código, você está usando a anotação @Value do Spring para injetar o valor das variáveis de ambiente ENDERECO e API_KEY:

@Value("${ENDERECO}")
private String ENDERECO;

@Value("${API_KEY}")
private String API_KEY;

Isso está correto, desde que você tenha definido essas variáveis de ambiente corretamente. Normalmente, você pode definir variáveis de ambiente em um arquivo .env ou diretamente no sistema operacional.

Por exemplo, se você estiver usando um sistema operacional baseado em Unix, como o Linux ou o MacOS, você pode definir variáveis de ambiente no terminal usando o comando export:

export ENDERECO="https://www.omdbapi.com/?t="
export API_KEY="&apikey=6585022c"

Depois disso, você pode acessar essas variáveis de ambiente no seu código Java usando a anotação @Value, como você fez.

Se você estiver usando um arquivo .env, você pode definir suas variáveis de ambiente da seguinte maneira:

ENDERECO="https://www.omdbapi.com/?t="
API_KEY="&apikey=6585022c"

Depois disso, você precisa carregar essas variáveis de ambiente no seu aplicativo Spring. Existem várias maneiras de fazer isso, mas uma maneira comum é usar a biblioteca dotenv-java.

Espero ter ajudado e bons estudos!

Bom dia! E para fazer o mesmo procedimento usando o Windows?

Oi Sergio.

No Windows, você pode definir variáveis de ambiente de várias maneiras. Aqui estão algumas opções:

Opção 1: Usando o Prompt de Comando (cmd)

  1. Abra o Prompt de Comando (cmd).
  2. Para definir uma variável de ambiente, use o comando set. Por exemplo:

cmd:

set ENDERECO=https://www.omdbapi.com/?t=
set API_KEY=&apikey=6585022c

Agora, você pode acessar essas variáveis de ambiente no seu código Java da mesma forma que mencionado anteriormente, usando a anotação @Value("${ENDERECO}") e @Value("${API_KEY}").

Opção 2: Usando as Configurações do Sistema no Windows

  1. Pressione Win + Pause/Break para abrir as Configurações do Sistema.
  2. Clique em "Configurações avançadas do sistema" à esquerda.
  3. Clique no botão "Variáveis de Ambiente" na janela de Propriedades do Sistema.
  4. Na seção "Variáveis do Sistema" ou "Variáveis do Usuário", clique em "Novo" e adicione suas variáveis ENDERECO e API_KEY com os valores desejados.

Lembre-se de reiniciar o seu aplicativo ou o ambiente de desenvolvimento após definir essas variáveis para que as alterações tenham efeito.

Espero que isso ajude! Se tiver mais alguma dúvida, fique à vontade para perguntar.

Ajudou bastante!

Valeu!