Flávia Correia
Posted on October 1, 2022
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!
Posted on October 1, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.