O objetivo do desafio é construir uma API REST para geração de boletos que será consumido por um módulo de um sistema de gestão financeira de microempresas. No final do desafio vamos ter os seguintes endpoints para:
- Criar boleto
- Listar boletos
- Ver detalhes
- Pagar um boleto
- Cancelar um boleto
Link do Heroku
A implementação deste desafio foi dividido em 5 grandes projetos, são eles:
- desafio-config
- desafio-eureka
- boleto-api
- desafio-gateway
- desafio-base
Para iniciar todos os projetos de uma única vez basta apenas executar o arquivo run-all.bat
que fica na pasta raiz.
cd desafio-config
call gradle build
call java -jar "build/libs/desafio-config-1.0.0.jar"
ou
run-config.bat
cd desafio-eureka
call gradle build
call java -jar "build/libs/desafio-eureka-1.0.0.jar"
ou
run-eureka.bat
cd boleto-api
call gradle build
call java -jar "build/libs/boleto-api-1.0.0.jar"
ou
run-api.bat
cd desafio-gateway
call gradle build
call java -jar "build/libs/desafio-gateway-1.0.0.jar"
ou
run-gateway.bat
Todos os arquivos de configuração ficam no projeto desafio-config
.
Projeto | Porta |
---|---|
desafio-config | 8888 |
desafio-eureka | 8761 |
desafio-gateway | 8080 |
boleto-api | 8780 |
Para utilizar a API em modo desenvolvimento:
-Dspring.profiles.active=dev
Para utilizar a API em modo de testes:
-Dspring.profiles.active=test
Esta aplicação foi deployada no Heroku em modo simplificado.
-Dspring.profiles.active=heroku
Total de testes: 32
https://desafio-bnubruno.herokuapp.com/rest/swagger-ui.html
A URL /bankslips/hateoas
foi inserida para demonstrar o uso de HATEOAS.
Exemplo de resposta:
Não se desespere. Você configurou o output do mapstruct no Build Path do projeto? Para isso execute o comando abaixo na pasta do projeto 'boleto-api':
gradle build
No eclipse, clique botão direito no projeto 'boleto-api' -> properties -> Java Build Path, na aba Source adicione um novo folder para a pasta build/generated/source/apt/main
como na imagem abaixo.