Prova técnica para a vaga de desenvolvedor Java na Attornatus.
- Java 17
- Spring Boot
- Spring Data JPA
- Spring Web
- H2 Database
- Lombok
- AWS Elastic Beanstalk
- Maven
O banco de dados utilizado é o H2, que é um banco de dados em memória. Portanto, ao executar a aplicação, o banco de dados será criado mas optei por não popular. Mas valido ressaltar que não tratei todos os exceptions e caso der algum erro de dados entre no
http://attornatusapp-env.eba-hvarprcm.us-east-1.elasticbeanstalk.com/h2-console/
e utilize das propriedades do application.yml para logar.
Criar Pessoa:
json
{
"nome": "string",
"cpf": "string",
"dataNascimento": "yyyy-MM-dd"
}
Resposta: 201 Created
json
{
"id": 1,
"nome": "string",
"cpf": "string",
"dataNascimento": "yyyy-MM-dd"
}
Atualizar Pessoa:
PUT http://attornatusapp-env.eba-hvarprcm.us-east-1.elasticbeanstalk.com/pessoas/{idPessoa}
Request Body:
json
{
"nome": "string",
"cpf": "string",
"dataNascimento": "yyyy-MM-dd"
}
Resposta: 200 OK
json
{
"id": 1,
"nome": "string",
"cpf": "string",
"dataNascimento": "yyyy-MM-dd"
}
Consultar Pessoa:
GET http://attornatusapp-env.eba-hvarprcm.us-east-1.elasticbeanstalk.com/pessoas/{id}
Resposta: 200 OK
json
{
"id": 1,
"nome": "string",
"cpf": "string",
"dataNascimento": "yyyy-MM-dd"
}
Consultar Todas as Pessoas:
GET http://attornatusapp-env.eba-hvarprcm.us-east-1.elasticbeanstalk.com/pessoas
Query params:
- page: número da página (opcional, padrão: 0)
- size: número de elementos por página (opcional, padrão: 20)
Resposta: 200 OK
json
[
{
"id": 1,
"nome": "string",
"cpf": "string",
"dataNascimento": "yyyy-MM-dd"
},
{
"id": 2,
"nome": "string",
"cpf": "string",
"dataNascimento": "yyyy-MM-dd"
}
]
Criar Endereço:
- POST [http://attornatusapp-env.eba-hvarprcm.us-east-1.elasticbeanstalk.com/pessoas/{pessoaId}/enderecos]
json
{
"logradouro": "Rua dos devs",
"cep": "01010101",
"numero": "01",
"cidade": "buglândia"
}
Resposta: 201 Created
json
{
"id": 1,
"logradouro": "Rua dos devs",
"cep": "01010101",
"numero": "01",
"cidade": "buglândia"
}
Consultar Endereço:
Resposta: 200 OK
json
[
{
"id": 1,
"logradouro": "Rua dos devs",
"cep": "01010101",
"numero": "01",
"cidade": "buglândia"
},
{
"id": 2,
"logradouro": "Rua dos devs",
"cep": "01010101",
"numero": "01",
"cidade": "buglândia"
}
]
Settar Endereço como Principal:
Resposta: 200 OK
json
{
"id": 1,
"logradouro": "Rua dos devs",
"cep": "01010101",
"numero": "01",
"cidade": "buglândia",
"principal": true
}