/API-REST-com-Gradle-E-Java

Desenvolvimento de uma API REST com Gradle - Groovy e Java - com Vitor Medeiro

Primary LanguageJavaMIT LicenseMIT

NPM

API REST com Gradle-Groovy e Java


✅ Projeto:

  • Desenvolvimento de uma API REST de cadastro, consulta, atualização e delete de Books utilizando como linguagens e ferramentas: Java, Gradle - Groovy, Postman e Intellij.

✅ Implementações:

  • Adicionei uma regra para não retornar null quando o usuário não quiser alterar algum parâmetro na atualização, ou seja, só vai atualizar o parâmetro que ele informar no body:
        if(request.getTitle() != null) {
            bookToUpdate.setTitle(request.getTitle());
        }

        if(request.getDescription() != null) {
            bookToUpdate.setDescription(request.getDescription());
        }

        if(request.getAuthor() != null) {
            bookToUpdate.setAuthor(request.getAuthor());
        }

🛠 Dependências:

  • Spring Boot DevTools
  • Lombok
  • Spring Web

❌ Utilizando o Postman:

- POST - cadastrar

- GET - listar

- GET listarId

- PUT - atualizar

- DELETE - deletar


📝 Anotações:

  • @AllArgsConstructor: fornece a criação de um construtor com todos os atributos;
  • @Data: gera getters/setters para todos os campos não-finais e o toString apropriado, equals e implementações hashCode que envolvem os campos da classe;
  • @DeleteMapping: usada para mapear solicitações HTTP DELETE em métodos manipuladores específicos;
  • @GetMapping: usada para mapear solicitações HTTP GET em métodos manipuladores específicos;
  • @NoArgsConstructor: gera um construtor sem parâmetros;
  • @PostMapping: usada para mapear solicitações HTTP POST em métodos específicos de manipulador;
  • @PutMapping: usada para mapear solicitações HTTP PUT em métodos manipuladores específicos;
  • @RequestBody: indica que o valor do objeto virá do corpo da requisição;
  • @RestController: marca a classe como um controlador onde cada método retorna um objeto de domínio em vez de uma visão;
  • @RequestMapping: usada para mapear solicitações da web para classes manipuladoras específicas e métodos manipuladores;
  • @PathVariable: indica que o valor da variável virá de uma informação da rota;

Créditos 👇

Vitor Medeiro - MEDEIRO.TECH


Aluno

Lucas Araujo

lucarauj | LinkdeIN