Faala pessoal, tudo bom? Vamos codar um pouco?
Expandindo a pasta raiz do projeto, temos:
O src/main/java é uma estrutura padrão do Maven, nesse caminho é onde o código Java com destino à produção fica.
O src/main/resources é onde os arquivos estáticos ficam, como exemplo, aqueles arquivos de configuração.
A PublishingCompany (Editora)
- Com o botão direito, clique no pacote com.projects.library > New > Class
Edite os seguites campos:
- Package: com.projects.library.api.controller
- Name: PublishingCompanyController e clique em Finish.
Para ver se está tudo certo, vamos criar um método que retorna uma string.
A linha 6 indica para o Spring que a classe é um componente Spring que trata requisições HTTP e que pode retornar respostas.
Alinha 9 é uma anotação que mapeia requisições do verbo Get e toda vez que solicitar no endereço com "/publishing-companies" retorna o "Hello World" do método getPublishingCompanies.
Rodando o projeto e testando a requisição no Postman
Na aba Boot Dashboard, expandindo a seção "local" teremos a library-api[devtools], ela é a que utilizamos para rodar o projeto
No Postman, criei uma nova Collection, selecionei o verbo HTTP GET, adicionei a URL:PORT/URI criada no Controller. (no caso localhost:8080/publishing-companies) e dei um Send. O resultado está logo abaixo.
Criando uma Model Publishing Company
Antes de iniciar a construção da Model, vamos configurar o Lombok, uma biblioteca que gera os Getters, Setters, Equals e HashCodes das Models, o que deixa o código mais limpo.
Caso não ache necessário, pode partir para o tópico 6.
- Prepare sua IDE por aqui;
- Clique com o botão direito sobre o projeto;
- Vá para: Spring > Add starters;
- Selecione Lombok;
- Clique em Next > Selecione pom.xml > Clique em Finish;
- Clique com o botão direito sobre o projeto;
- Vá para New > Class;
- Em package edite: com.projects.library.domain.model;
- Em Name adicione: PublishingCompanyModel e clique em Finish;
- Adicione os seguintes atributos:
Note que, existem alguns Warnings na classe pela falta de Getters e Setters, para sanar isso, como já falei antes, usaremos o Lombok, então, nas linhas 3 e 4 adiciono:
import lombok.Getter;
import lombok.Setter;
Assim, temos uma classe mais "enxuta" com os métodos necessários.
Caso não tenha optado pelo Lombok, gere os Getters e Setters.
Modificando o Controller de Publishing Companies
Na linha 15, modifiquei para que o método retornasse uma lista de Editoras
Nas linhas 17 a 29 são criados 2 objetos instanciados do tipo da Model de Editora;
Na linha 31, através do método asList da biblioteca Arrays, é retornado uma lista com os objetos.
O resultado é esse aqui:
Gerando um .jar do projeto
- botão direito do mouse sobre o projeto
- Run As > Maven build... (o 5)
- Goals: clean package
- Run
O arquivo .jar estará na pasta target
Para rodar no terminal:
- abra a parta target no terminal
- java -jar nome_projeto-0.0.1-SNAPSHOT.jar
Com isso, podemos rodar o projeto sem precisar abrir a IDE, uma boa pra quando tiver toda a API pronta e quiser testar algum módulo.
Chegamos ao fim de mais uma publicação, você pode acompanhar os posts anteriores aqui:
O link do projeto no GitHub você acessa aqui.
Até mais!
Top comments (0)