Essa API tem o objetivo principal de criar e consultar uma cidade. Além de criar, consultar, editar e remover um cliente.
Antes de rodar o projeto, certifique-se de que você possui o Docker instalado na sua máquina.
Para rodar o projeto, é necessário realizar dois comandos no terminal do seu sistema operacional:
- docker-compose build
- docker-compose up
Após rodar esses comandos, a API e o Banco de Dados estarão rodando e já será possível fazer requisições na API.
Descrição: Insere uma nova cidade.
Endpoint: http://localhost:3000/city
Exemplo de request:
curl --location --request POST 'http://localhost:3000/city' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Chapecó",
"uf": "SC"
}'
Exemplo de Response:
{
"id": 1,
"name": "Chapecó",
"uf": "Santa Catarina"
}
Descrição: Busca uma cidade pelo nome.
Endpoint: http://localhost:3000/city/:name
Exemplo de request:
curl --location --request GET 'http://localhost:3000/city/Chapecó'
Exemplo de Response:
{
"id": 1,
"name": "Chapecó",
"uf": "Santa Catarina"
}
Descrição: Busca uma cidade pelo nome do estado + nome da cidade.
Endpoint: http://localhost:3000/uf/:uf/city/:name
Exemplo de request:
curl --location --request GET 'http://localhost:3000/uf/SC/city/Chapecó'
Exemplo de Response:
{
"id": 1,
"name": "Chapecó",
"uf": "Santa Catarina"
}
Descrição: Insere um novo cliente.
Endpoint: http://localhost:3000/client
Exemplo de request:
curl --location --request POST 'http://localhost:3000/client' \
--header 'Content-Type: application/json' \
--data-raw '{
"fullName": "Ayrton",
"age": 25,
"birthDate": "01/10/1996",
"sex": "Masculino",
"cityId": 1
}'
Exemplo de Response:
{
"age": 25,
"birthDate": "1996-01-10T00:00:00.000Z",
"fullName": "Ayrton",
"sex": "Masculino",
"city": {
"id": 1,
"name": "Chapecó",
"uf": "Santa Catarina"
},
"id": 5
}
Descrição: Busca um cliente pelo id.
Endpoint: http://localhost:3000/client/id/:id
Exemplo de request:
curl --location --request GET 'http://localhost:3000/client/id/1'
Exemplo de Response:
{
"id": 1,
"fullName": "Ayrton",
"sex": "Masculino",
"birthDate": "1996-01-20",
"age": 25,
"city": {
"id": 1,
"name": "Palmitos",
"uf": "SC"
}
}
Descrição: Atualiza o nome de um cliente.
Endpoint: http://localhost:3000/client/id/:id
Exemplo de request:
curl --location --request PATCH 'http://localhost:3000/client/id/1' \
--header 'Content-Type: application/json' \
--data-raw '{
"fullName": "Daniel"
}'
Exemplo de Response: SEM RESPONSE. Retorna status 204 quando a operação é realizada com sucesso.
Descrição: Deleta um cliente.
Endpoint: http://localhost:3000/client/id/:id
Exemplo de request:
curl --location --request DELETE 'http://localhost:3000/client/id/2'
Exemplo de Response: SEM RESPONSE. Retorna status 204 quando a operação é realizada com sucesso.