Este é o projeto de API que deve ser automatizado para o desafio.
- Java 8+ JDK deve estar instalado
- Maven deve estar instalado e configurado no path da aplicação
Na raiz do projeto, através de seu Prompt de Commando/Terminal/Console execute o comando
mvn clean spring-boot:run
A aplicação estará disponível através da URL http://localhost:8080
Você pode trocar a porta da aplicação, caso a 8080 já estiver em uso, adicionando a propriedade JVM server.port
.
Exemplo:
mvn clean spring-boot:run -Dserver.port=8888
A documentação técnica da API está disponível através do OpenAPI/Swagger em http://localhost:8080/swagger-ui.html
GET <host>/api/v1/restricoes/{cpf}
O endpoint de Restrições tem a finalidade de consultar o CPF informando, retornando se ele possui ou não uma restrição.
- Se não possui restrição do HTTP Status 204 é retornado
- Se possui restrição o HTTP Status 200 é retornado com a mensagem "O CPF 99999999999 possui restrição"
CPF |
---|
97093236014 |
60094146012 |
84809766080 |
62648716050 |
26276298085 |
01317496094 |
55856777050 |
19626829001 |
24094592008 |
58063164083 |
A simulação é um cadastro que ficará registrado informações importantes sobre o crédito como valor, parcelas, dados de contato, etc...
POST <host>/api/v1/simulacoes
Este endpoint é responsável por inserir uma nova simulação.
Existem os seguintes atributos a serem informados, com suas respectivas regras:
Atributo | Obrigatório? | Regra |
---|---|---|
cpf | sim | texto informando o CPF não no formato 999.999.999-99 |
nome | sim | texto informando o nome da pessoa |
sim | texto informado um e-mail válido | |
valor | sim | valor da simulação que deve ser igual ou maior que R$ 1.000 e menor ou igual que R$ 40.000 |
parcela | sim | número de parcelas para pagamento que deve ser igual ou maior que 2 e menor ou igual a 48 |
seguro | sim | booleano true se com seguro e false se sem seguro |
- Uma simulação cadastrada com sucesso retorna o HTTP Status 201 e os dados inseridos como retorno
- Uma simulação com problema em alguma regra retorna o HTTP Status 400 com a lista de erros
- Uma simulação para um mesmo CPF retorna um HTTP Status 409 com a mensagem "CPF já existente"
PUT <host>/api/v1/simulacoes/{cpf}
Altera uma simulação já existente, onde o CPF deve ser informado para que a alteração possa ser efetuada.
- A alteração pode ser feita em qualquer atributo da simulação
- As mesmas regras se mantém
- Se o CPF não possuir uma simulação o HTTP Status 404 é retornado com a mensagem "CPF não encontrado"
GET <host>/api/v1/simulacoes
Lista as simulações cadastradas.
- Retorna a lista de simulações cadastradas e existir uma ou mais
- Retorna HTTP Status 204 se não existir simulações cadastradas
GET <host>/api/v1/simulacoes/{cpf}
Retorna a simulação previamente cadastrada pelo CPF.
- Retorna a simulação cadastrada
- Se o CPF não possuir uma simulação o HTTP Status 404 é retornado
DELETE <host>/api/v1/simulacoes/{id}
Remove uma simulação previamente cadastrada pelo seu ID.
- Retorna o HTTP Status 204 se simulação for removida com sucesso
- Retorna o HTTP Status 404 com a mensagem "Simulação não encontrada" se não existir a simulação pelo ID informado