Este projeto foi criado para aprender e explorar o desenvolvimento de APIs usando NodeJS
Este projeto possui uma API básica construída usando NodeJS e MySQL. Serve como exemplo para uso em sala de aula, fornecendo uma introdução à construção de APIs com NodeJS e mostrando vários recursos e potencialidades das tecnologias envolvidas.
HTML e CSS: Tecnologias para desenvolvimento de interface web.
Javascript: Linguagem de programação utilizada para construir e consumir a API além da interação do usuário.
NodeJS: Uma estrutura poderosa para desenvolver programas e aplicações muito além da web. Neste foi utilizada para a construção da RESTful APIs.
Postman: Uma plataforma de colaboração para desenvolvimento e teste de API, que pode ser usada para interagir e testar os endpoints da API.
MySQL: MySQL é um sistema de gerenciamento de banco de dados relacional de código aberto. Seu nome é uma combinação de "My", o nome da filha do cofundador Michael Widenius, My, e "SQL", a sigla para Structured Query Language.
Retorna informações sobre um funcionário com base no ID.
Método HTTP: GET
Endpoint / Parâmetros de URL: /funcionarios
Descrição: Retorna uma lista de todos os funcionários disponíveis.
Exemplo de Requisição: GET /funcionarios
Endpoint / Parâmetros de URL: /funcionarios/id/:funcionario_id
Parâmetros de URL: funcionario_id
(integer) - ID do funcionário desejado.
Exemplo de Requisição: GET /funcionarios/123
Endpoint / Parâmetros de URL: /funcionarios/nome/:nome
Parâmetros de URL: nome
(string) - Noe do funcionário desejado.
Exemplo de Requisição: GET /funcionarios/nome/Alessandra Neves
Endpoint / Parâmetros de URL: /funcionarios/departamento/:nome
Parâmetros de URL: nome
(string) - Nome do departamento desejado.
Exemplo de Requisição: GET /funcionarios/departamento/marketing
Endpoint / Parâmetros de URL: /funcionarios/cargo/:cargo
Parâmetros de URL: cargo
(string) - Nome do cargo desejado.
Exemplo de Requisição: GET /funcionarios/cargo/contador
Endpoint / Parâmetros de URL: /funcionarios/regiao/:nome
Parâmetros de URL: nome
(string) - Nome da região desejada.
Exemplo de Requisição: GET /funcionarios/regiao/Americas
Endpoint / Parâmetros de URL: /funcionarios/salario_gt/:valor
Parâmetros de URL: valor
(int) - valor base para pesquisar valores maiores
Exemplo de Requisição: GET /funcionarios/salario_gt/2000
Endpoint / Parâmetros de URL: /funcionarios/salario_lt/:valor
Parâmetros de URL: valor
(int) - valor base para pesquisar valores menores
Exemplo de Requisição: GET /funcionarios/salario_lt/3000
Endpoint / Parâmetros de URL: /funcionarios/escritorio/nome/:nome
Parâmetros de URL: nome
(string) - nome da sala do escritório desejado.
Exemplo de Requisição: GET /funcionarios/escritorio/nome/Beta
Endpoint / Parâmetros de URL: /funcionarios/escritorio/endereco/:endereco
Parâmetros de URL: endereco
(string) - endereço da sala do escritório desejado.
Exemplo de Requisição: GET /funcionarios/escritorio/endereco/Bobos
TODOS os endpoints acima trarão o mesmo tipo de resposta:
Exemplo de Respostas:
{
"funcionario_id": 123,
"primeiro_nome": "Gabriel Augusto",
"sobrenome": "Fernandes",
"telefone": "123456789",
"data_contratacao": "2023-01-01",
"salario": 50000,
"cargo": "Gerente Operacional",
"min_salario": 40000,
"max_salario": 60000,
"departamento": "Marketing",
"escritorio_nome": "Torre da Justiça",
"escritorio_endereco": "Rua dos Bobos, 0.",
"pais": "Brasil",
"regiao": "Americas"
}
// ... Outros funcionários (quando necessário ou disponível).
Esta API apresentará os seguintes recursos:
-
Operações CRUD: a API oferece suporte a operações básicas de CRUD (Criar, Ler, Atualizar, Excluir) para uma entidade específica.
-
Arquitetura RESTful: A API segue os princípios da Transferência de Estado Representacional (REST), fornecendo uma interface uniforme para interação com recursos.
-
Validação: os dados da solicitação são validados para garantir que atendam aos critérios exigidos antes do processamento.
Sinta-se à vontade para explorar e modificar o código para saber mais sobre como construir APIs com NodeJS.
Para executar localmente a API da Empresa Momento, siga estas etapas:
- Certifique-se de ter o NodeJS instalado:
https://nodejs.org/
. - Clone este repositório para o seu ambiente local.
- Execute o script
momento.sql
no seu banco MySQL. - Abra o projeto em sua IDE.
- Atualize o arquivo
index.js
com as configurações do seu ambiente. - Abra o terminal, navegue até a pasta do seu projeto e utilize o comando para ver o projeto funcionando:
node index.js
- Abra o seu navegador e utilize o endereço
http://localhost:3000
(atenção aos endpoints). - Caso seja necessário, atualize o endereço da API dentro dos arquivos
.html
.
Este projeto está licenciado sob a Licença MIT. Sinta-se à vontade para usar e modificar o código para fins educacionais.