Skip to content

leandrocesar09/spring-boot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Introdução

Este repositório contem uma implementação de referência para auxiliar na conclusão do exercício descrito nas próximas seções. Esta implementação de referência contem todas as configurações necessárias para o candidato concluir o exercício.

O candidato DEVE realizar o clone da branch master, criar uma nova branch, realizar a implementação e para a entrega fazer o push e solicitar um pull request para a master.

  • Padrão de nome da branch: ft-yyyyMMdd-nome-completo

Diagrama de atividades

O diagrama abaixo representa as atividades na implementação de um recurso REST de operação POST para manipulação de determinada representação (entidade carro, por exemplo).

Entidades

O modelo abaixo DEVE ser utilizado para o desenvolvimento do exercício. Esta é uma estrutura base, sendo permitido ao candidato incrementar ou não este modelo.

Exercício

Utilizando a implementação de referência, o diagrama de atividades e as entidades definidas como base para implementação do exercício, o candidato DEVE seguir as seguintes definições:

  • A aplicação DEVE ser desenvolvida utilizando a abordagem API-First com a especificação OpenAPI 2.0 - Swagger. Ou seja, o primeiro passo DEVE ser a criação de um arquivo YAML com a descrição da API com as operações e objetos que a aplicação irá suportar.
  • A aplicação DEVE conter a implementação de todas as operações CRUD, ou seja, POST para criar, GET para ler, PUT e/ou PATH para atualizar e DELETE para remover. Apenas a entidade carro DEVE ter as operações CRUD implementadas, as demais podem ser trabalhadas com cargas iniciais.
    • Notas:
      • No estilo RESTful o PUT é utilizado para realizar uma atualização completa na entidade e o PATH para atualizações parciais. A atualização em si no estilo RESTful envolve algumas técnicas mais complexas, mas para este exercício o candidato poderá optar por qualquer um dos verbos sem se preocupar com essas complexidades, apenas em realizar a operação de UPDATE.
      • A implementação de referência utiliza o H2 como banco de dados e possui exemplo de carga inicial. A utilização do H2 DEVE ser mantida.
  • A representação de resposta dos recursos da API DEVE conter atributos não existentes nas entidades do banco de dados, ou seja atributos calculados.
  • A aplicação DEVE conter testes unitários.
  • A aplicação DEVE ser desenvolvida utilizando recursos do Java 8 sempre que possível. • A implementação DEVE ser entregue em no máximo 4 dias corridos após o recebimento do exercício.
  • A aplicação NÃO DEVE conter UI (User Interface), apenas o back-end (API).
  • A aplicação PODE conter recursos/implementações adicionais, caso o candidato tenha interesse (diferencial).
  • A implementação PODE ser entregue com diagramas de atividades das operações (diferencial).

Importante

  • A aplicação será avaliada no commit/push do pull request mais próximo do prazo de término para a conclusão do exercício.
  • A aplicação será analisada através do SonarQube. É recomendado a utilização do plugin SonarLint para análise das métricas do SonarQube.
  • A aplicação será analisada em relação a cobertura de testes. É recomendado a utilização de algum plugin de análise de cobertura (exemplo o EclEMMA para Eclipse).

Dúvidas

About

Repositório para o exercício de implementação de API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%