Skip to content

anapaulasouzasantos/API--Dindin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dindin - API

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

Endpoints

--

Cadastrar usuário

POST /usuario

Essa é a rota que será utilizada para cadastrar um novo usuario no sistema.

Exemplo de requisição

// POST /usuario
{
    "nome": "José",
    "email": "jose@email.com",
    "senha": "123456"
}

Exemplos de resposta

// 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."
}

Login do usuário

POST /login

Essa é a rota que permite o usuario cadastrado realizar o login no sistema.

Exemplo de requisição

// POST /login
{
    "email": "jose@email.com",
    "senha": "123456"
}

Exemplos de resposta

// 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)."
}

Detalhar usuário

GET /usuario

Essa é a rota que será chamada quando o usuario quiser obter os dados do seu próprio perfil.

Exemplo de requisição

// GET /usuario
// Sem conteúdo no corpo (body) da requisição

Exemplos de resposta

// 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."
}

Atualizar usuário

PUT /usuario

Essa é a rota que será chamada quando o usuário quiser realizar alterações no seu próprio usuário.

Exemplo de requisição

// PUT /usuario
{
    "nome": "José de Abreu",
    "email": "jose_abreu@email.com",
    "senha": "j4321"
}

Exemplos de resposta

// 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."
}

Listar categorias

GET /categoria

Essa é a rota que será chamada quando o usuario logado quiser listar todas as categorias cadastradas.

Exemplo de requisição

// GET /categoria
// Sem conteúdo no corpo (body) da requisição

Exemplos de resposta

// HTTP Status 200 / 201 / 204
[
    {
        id: 1,
        descricao: "Roupas",
    },
    {
        id: 2,
        descricao: "Mercado",
    },
]
// HTTP Status 200 / 201 / 204
[]

Listar transações do usuário logado

GET /transacao

Essa é a rota que será chamada quando o usuario logado quiser listar todas as suas transações cadastradas.

Exemplo de requisição

// GET /transacao
// Sem conteúdo no corpo (body) da requisição

Exemplos de resposta

// 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
[]

Detalhar uma transação do usuário logado

GET /transacao/:id

Essa é a rota que será chamada quando o usuario logado quiser obter uma das suas transações cadastradas.

Exemplo de requisição

// GET /transacao/2
// Sem conteúdo no corpo (body) da requisição

Exemplos de resposta

// 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."
}

Cadastrar transação para o usuário logado

POST /transacao

Essa é a rota que será utilizada para cadastrar uma transação associada ao usuário logado.

Exemplo de requisição

// POST /transacao
{
    "tipo": "entrada",
    "descricao": "Salário",
    "valor": 300000,
    "data": "2022-03-24T15:30:00.000Z",
    "categoria_id": 6
}

Exemplos de resposta

// 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."
}

Atualizar transação do usuário logado

PUT /transacao/:id

Essa é a rota que será chamada quando o usuario logado quiser atualizar uma das suas transações cadastradas.

Exemplo de requisição

// PUT /transacao/2
{
 "descricao": "Sapato amarelo",
 "valor": 15800,
 "data": "2022-03-23 12:35:00",
 "categoria_id": 4,
 "tipo": "saida"
}

Exemplos de resposta

// 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."
}

Excluir transação do usuário logado

DELETE /transacao/:id

Essa é a rota que será chamada quando o usuario logado quiser excluir uma das suas transações cadastradas.

Exemplo de requisição

// DELETE /transacao/2
// Sem conteúdo no corpo (body) da requisição

Exemplos de resposta

// 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."
}

Obter extrato de transações

GET /transacao/extrato

Essa é a rota que será chamada quando o usuario logado quiser obter o extrato de todas as suas transações cadastradas.

Exemplo de requisição

// GET /transacao/extrato
// Sem conteúdo no corpo (body) da requisição

Exemplos de resposta

// HTTP Status 200 / 201 / 204
{
 "entrada": 300000,
 "saida": 15800
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published