- Title: API REST para Gerenciamento de Usuários, Prestadores e Serviços da plataforma Event's Hub.
- Version: v0.1
A API Event's Hub foi criada como projeto final do curso Start - Rede Cidadã em parceria com a Accenture Brasil.
- Autenticação
- Gerenciamento de Usuários
- Gerenciamento de Prestadores
- Gerenciamento de Clientes
- Gerenciamento de Serviços
Este projeto segue intenções de uma arquitetura inspirada no padrão MVC. Ele é dividido em camadas para separar as responsabilidades e tornar o código mais organizado e testável.
- URL: /usuario/login
- Método: POST
- Tags: usuario-controle
- Descrição: Realiza o login de um usuário.
- Corpo da Requisição
- Tipo: application/json
- Schema:
{ "email": "string", "senha": "string" } - Obrigatório: true
- Respostas
- 200 OK: Login bem-sucedido.
- 400 Bad Request: Requisição inválida.
- URL: /usuario/cadastrar
- Método: POST
- Tags: usuario-controle
- Descrição: Cadastra um novo usuário.
- Corpo da Requisição
- Tipo: application/json
- Schema:
{ "nome": "string", "email": "string", "senha": "string" } - Obrigatório: true
- Respostas
- 200 OK: Cadastro bem-sucedido.
- 400 Bad Request: Requisição inválida.
- 403 Unauthorized: Acesso negado.
- URL: /usuario/listar
- Método: GET
- Tags: usuario-controle
- Descrição: Lista todos os usuários.
- Respostas
- 200 OK: Solicitação bem-sucedida.
- 400 Bad Request: Requisição inválida.
- 403 Unauthorized: Acesso negado.
- URL: /usuario/alterar/{id}
- Método: PUT
- Tags: usuario-controle
- Descrição: Altera os dados de um usuário existente.
- Parâmetros
- id (obrigatório, path, integer, int64): ID do usuário a ser alterado.
- Corpo da Requisição
- Tipo: application/json
- Schema:
{ "nome": "string", "email": "string", "senha": "string" } - Obrigatório: true
- Respostas
- 200 OK: Solicitação bem-sucedida.
- 400 Bad Request: Requisição inválida.
- 403 Unauthorized: Acesso negado.
- URL: /usuario/remover/{id}
- Método: DELETE
- Tags: usuario-controle
- Descrição: Remove um usuário específico.
- Parâmetros
- id (obrigatório, path, integer, int64): ID do usuário.
- Respostas
- 200 OK: Usuário removido com sucesso.
- 400 Bad Request: Requisição inválida.
- 403 Unauthorized: Acesso negado.
- URL: /prestador/cadastrar/{id}
- Método: POST
- Tags: prestador-controle
- Descrição: Cadastre um novo prestador.
- Parâmetros
- id (obrigatório, path, integer, int64): ID do prestador.
- Corpo da Requisição
- Tipo: application/json
- Schema: PrestadorModelo
- Obrigatório: true
- Respostas
- 200 OK: Cadastro bem-sucedido.
- URL: /prestador/listar
- Método: GET
- Tags: prestador-controle
- Descrição: Lista todos os prestadores.
- Respostas
- 200 OK: Solicitação bem-sucedida.
- 403 Unauthorized: Acesso negado.
- URL: /prestador/{id}
- Método: GET
- Tags: prestador-controle
- Descrição: Obtém um prestador específico pelo ID.
- Parâmetros
- id (obrigatório, path, integer, int64): ID do prestador.
- Respostas
- 200 OK: Solicitação bem-sucedida.
- 403 Unauthorized: Acesso negado.
- URL: /prestador/alterar/{id}
- Método: PUT
- Tags: prestador-controle
- Descrição: Altera os dados de um prestador existente.
- Parâmetros
- id (obrigatório, path, integer, int64): ID do prestador a ser alterado.
- Corpo da Requisição
- Tipo: application/json
- Schema:
{ "razaoSocial": "string", "cpf": "string", "descricaoEmpresa": "string", "portfolio": "string", "usuario": { "nome": "string", "email": "string", "senha": "string" } } - Obrigatório: true
- Respostas
- 200 OK: Solicitação bem-sucedida.
- 400 Bad Request: Requisição inválida.
- 403 Unauthorized: Acesso negado.
- URL: /prestador/remover/{id}
- Método: DELETE
- Tags: prestador-controle
- Descrição: Remove um prestador específico.
- Parâmetros
- id (obrigatório, path, integer, int64): ID do prestador.
- Respostas
- 200 OK: Prestador removido com sucesso.
- 403 Unauthorized: Acesso negado.
- URL: /clientes/cadastrar/{id}
- Método: POST
- Tags: cliente-controle
- Descrição: Cadastra um novo cliente.
- Parâmetros
- id (obrigatório, path, integer, int64): ID do cliente.
- Corpo da Requisição
- Tipo: application/json
- Schema: ClienteModelo
- Obrigatório: true
- Respostas
- 200 OK: Cadastro bem-sucedido.
- URL: /clientes/listar
- Método: GET
- Tags: cliente-controle
- Descrição: Lista todos os clientes.
- Respostas
- 200 OK: Solicitação bem-sucedida.
- 403 Unauthorized: Acesso negado.
- URL: /clientes/{id}
- Método: GET
- Tags: cliente-controle
- Descrição: Obtém um cliente específico pelo ID.
- Parâmetros
- id (obrigatório, path, integer, int64): ID do cliente.
- Respostas
- 200 OK: Solicitação bem-sucedida.
- 403 Unauthorized: Acesso negado.
- URL: /clientes/alterar/{id}
- Método: PUT
- Tags: cliente-controle
- Descrição: Altera os dados de um cliente existente.
- Parâmetros
- id (obrigatório, path, integer, int64): ID do cliente a ser alterado.
- Corpo da Requisição
- Tipo: application/json
- Schema:
{ "endereco": "string", "telefone": "98464160189", "dataNascimento": "2024-05-24T12:59:13.893Z", "usuario": { "nome": "string", "email": "string", "senha": "string" } } - Obrigatório: true
- Respostas
- 200 OK: Solicitação bem-sucedida.
- 400 Bad Request: Requisição inválida.
- 403 Unauthorized: Acesso Negado.
- URL: /clientes/remover/{id}
- Método: DELETE
- Tags: cliente-controle
- Descrição: Remove um cliente específico.
- Parâmetros
- id (obrigatório, path, integer, int64): ID do cliente.
- Respostas
- 200 OK: Cliente removido com sucesso.
- 403 Unauthorized: Acesso negado.
- URL: /servicos
- Método: GET
- Tags: servico-controle
- Descrição: Lista todos os serviços disponíveis.
-Respostas
- 200 OK: Solicitação bem-sucedida.
- 403 Unauthorized: Acesso negado.
- URL: /servicos
- Método: POST
- Tags: servico-controle
- Descrição: Cria um novo serviço.
- Corpo da Requisição
- Tipo: application/json
- Schema:
{ "categoria": "string", "subcategoria": "string", "titulo": "string", "descricao": "string", "preco": 0, "estaAtivo": true, "prestador": "string", "fotos": [ { "url": "string", "servico": "string" } ] } - Obrigatório: true
- Respostas
- 200 OK: Serviço criado com sucesso.
- 400 Bad Request: Solicitação inválida.
- 403 Unauthorized: Acesso negado.
- URL: /servicos/{servicoId}
- Método: GET
- Tags: servico-controle
- Descrição: Obtém um serviço específico pelo ID.
- Parâmetros
- servicoId (obrigatório, path, integer, int64): ID do serviço.
- Respostas
- 200 OK: Solicitação bem-sucedida.
- 403 Unauthorized: Acesso negado.
- URL: /servicos/{servicoId}/fotos
- Método: GET
- Tags: servico-controle
- Descrição: Obtém as fotos de um serviço específico.
- Parâmetros
- servicoId (obrigatório, path, integer, int64): ID do serviço.
- Respostas
- 200 OK: Solicitação bem-sucedida.
- 403 Unauthorized: Acesso negado.
- URL: /servicos/{servicoId}/fotos
- Método: POST
- Tags: servico-controle
- Descrição: Adiciona uma foto a um serviço específico.
- Parâmetros
- servicoId (obrigatório, path, integer, int64): ID do serviço.
- Corpo da Requisição
- Tipo: application/json
- Schema: FotoModelo
- Obrigatório: true
- Respostas
- 200 OK: Foto adicionada com sucesso.
- 403 Unauthorized: Acesso negado.
| Código | Descrição | Significado |
|---|---|---|
| 200 | OK | A requisição foi bem-sucedida e o servidor retornou os dados solicitados. |
| 400 | Bad Request | A requisição está malformada ou contém parâmetros inválidos. |
| 403 | Unauthorized | O servidor entendeu a requisição, mas se recusa a autorizá-la, acesso negado. |
Este projeto foi desenvolvido em Visual Studio Code : Versão: 1.89.1 (system setup) Java JDK 17
Todas as pessoas envolvidas no projeto.
|
Arlan Nunes |
Glaydon Lima |
Hiury Luciano |
Kamily Vitoria |
Made with ♥ by Start 2024.1 - Event's Hub