DEV Community

Cover image for Um projeto Spring Boot - P4
Flávia Correia
Flávia Correia

Posted on • Updated on

Um projeto Spring Boot - P4

Faala pessoal, tudo bom? Vamos codar um pouco?

Expandindo a pasta raiz do projeto, temos:

estrutura de pastas do projeto

  • 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.
primeiro código

  • 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
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.

requisição get no Postman


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.

  1. Prepare sua IDE por aqui;
  2. Clique com o botão direito sobre o projeto;
  3. Vá para: Spring > Add starters;
  4. Selecione Lombok;
  5. Clique em Next > Selecione pom.xml > Clique em Finish;
  6. Clique com o botão direito sobre o projeto;
  7. Vá para New > Class;
  8. Em package edite: com.projects.library.domain.model;
  9. Em Name adicione: PublishingCompanyModel e clique em Finish;
  10. Adicione os seguintes atributos: class sem lombok

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;

class com lombok

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

modificando o método getPublishingCompanies

  • 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:

resultado do get de editora


Gerando um .jar do projeto

  1. botão direito do mouse sobre o projeto
  2. Run As > Maven build... (o 5)
  3. Goals: clean package
  4. Run

O arquivo .jar estará na pasta target
Para rodar no terminal:

  1. abra a parta target no terminal
  2. 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)