Esta aplicação permite:
- Cadastrar Usuário
- Fazer Login
- Detalhar Perfil do Usuário Logado
- Editar Perfil do Usuário Logado
- Listar categorias
- Listar transações
- Detalhar transação
- Cadastrar transação
- Editar transação
- Remover transação
- Obter extrato de transações
--
Essa é a rota que será utilizada para cadastrar um novo usuario no sistema.
// POST /usuario
{
"nome": "José",
"email": "jose@email.com",
"senha": "123456"
}
// HTTP Status 200 / 201 / 204
{
"id": 1,
"nome": "José",
"email": "jose@email.com"
}
// HTTP Status 400 / 401 / 403 / 404
{
"mensagem": "Já existe usuário cadastrado com o e-mail informado."
}
Essa é a rota que permite o usuario cadastrado realizar o login no sistema.
// POST /login
{
"email": "jose@email.com",
"senha": "123456"
}
// HTTP Status 200 / 201 / 204
{
"usuario": {
"id": 1,
"nome": "José",
"email": "jose@email.com"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNjIzMjQ5NjIxLCJleHAiOjE2MjMyNzg0MjF9.KLR9t7m_JQJfpuRv9_8H2-XJ92TSjKhGPxJXVfX6wBI"
}
// HTTP Status 400 / 401 / 403 / 404
{
"mensagem": "Usuário e/ou senha inválido(s)."
}
Essa é a rota que será chamada quando o usuario quiser obter os dados do seu próprio perfil.
// GET /usuario
// Sem conteúdo no corpo (body) da requisição
// HTTP Status 200 / 201 / 204
{
"id": 1,
"nome": "José",
"email": "jose@email.com"
}
// HTTP Status 400 / 401 / 403 / 404
{
"mensagem": "Para acessar este recurso um token de autenticação válido deve ser enviado."
}
Essa é a rota que será chamada quando o usuário quiser realizar alterações no seu próprio usuário.
// PUT /usuario
{
"nome": "José de Abreu",
"email": "jose_abreu@email.com",
"senha": "j4321"
}
// HTTP Status 200 / 201 / 204
// Sem conteúdo no corpo (body) da resposta
// HTTP Status 400 / 401 / 403 / 404
{
"mensagem": "O e-mail informado já está sendo utilizado por outro usuário."
}
Essa é a rota que será chamada quando o usuario logado quiser listar todas as categorias cadastradas.
// GET /categoria
// Sem conteúdo no corpo (body) da requisição
// HTTP Status 200 / 201 / 204
[
{
id: 1,
descricao: "Roupas",
},
{
id: 2,
descricao: "Mercado",
},
]
// HTTP Status 200 / 201 / 204
[]
Essa é a rota que será chamada quando o usuario logado quiser listar todas as suas transações cadastradas.
// GET /transacao
// Sem conteúdo no corpo (body) da requisição
// HTTP Status 200 / 201 / 204
[
{
id: 1,
tipo: "saida",
descricao: "Sapato amarelo",
valor: 15800,
data: "2022-03-23T15:35:00.000Z",
usuario_id: 5,
categoria_id: 4,
categoria_nome: "Roupas",
},
{
id: 3,
tipo: "entrada",
descricao: "Salário",
valor: 300000,
data: "2022-03-24T15:30:00.000Z",
usuario_id: 5,
categoria_id: 6,
categoria_nome: "Salários",
},
]
// HTTP Status 200 / 201 / 204
[]
Essa é a rota que será chamada quando o usuario logado quiser obter uma das suas transações cadastradas.
// GET /transacao/2
// Sem conteúdo no corpo (body) da requisição
// HTTP Status 200 / 201 / 204
{
"id": 2,
"tipo": "entrada",
"descricao": "Salário",
"valor": 300000,
"data": "2022-03-24T15:30:00.000Z",
"usuario_id": 5,
"categoria_id": 6,
"categoria_nome": "Salários",
}
// HTTP Status 400 / 401 / 403 / 404
{
"mensagem": "Transação não encontrada."
}
Essa é a rota que será utilizada para cadastrar uma transação associada ao usuário logado.
// POST /transacao
{
"tipo": "entrada",
"descricao": "Salário",
"valor": 300000,
"data": "2022-03-24T15:30:00.000Z",
"categoria_id": 6
}
// HTTP Status 200 / 201 / 204
{
"id": 3,
"tipo": "entrada",
"descricao": "Salário",
"valor": 300000,
"data": "2022-03-24T15:30:00.000Z",
"usuario_id": 5,
"categoria_id": 6,
"categoria_nome": "Salários",
}
// HTTP Status 400 / 401 / 403 / 404
{
"mensagem": "Todos os campos obrigatórios devem ser informados."
}
Essa é a rota que será chamada quando o usuario logado quiser atualizar uma das suas transações cadastradas.
// PUT /transacao/2
{
"descricao": "Sapato amarelo",
"valor": 15800,
"data": "2022-03-23 12:35:00",
"categoria_id": 4,
"tipo": "saida"
}
// HTTP Status 200 / 201 / 204
// Sem conteúdo no corpo (body) da resposta
// HTTP Status 400 / 401 / 403 / 404
{
"mensagem": "Todos os campos obrigatórios devem ser informados."
}
Essa é a rota que será chamada quando o usuario logado quiser excluir uma das suas transações cadastradas.
// DELETE /transacao/2
// Sem conteúdo no corpo (body) da requisição
// HTTP Status 200 / 201 / 204
// Sem conteúdo no corpo (body) da resposta
// HTTP Status 400 / 401 / 403 / 404
{
"mensagem": "Transação não encontrada."
}
Essa é a rota que será chamada quando o usuario logado quiser obter o extrato de todas as suas transações cadastradas.
// GET /transacao/extrato
// Sem conteúdo no corpo (body) da requisição
// HTTP Status 200 / 201 / 204
{
"entrada": 300000,
"saida": 15800
}