Turma Online 18 - Todas em Tech | back-end | Semana 11 | 2022 | Professora Beatriz Ramerindo
Antes de começar, vamos organizar nosso setup.
- Fork esse repositório
- Clone o fork na sua máquina (Para isso basta abrir o seu terminal e digitar
git clone url-do-seu-repositorio-forkado
) - Entre na pasta do seu repositório (Para isso basta abrir o seu terminal e digitar
cd nome-do-seu-repositorio-forkado
)
É fundamental quando disponibilizamos uma API ela ter uma documentação com instruçoes para uso.
retorna todas as alunas
Aceita como parametro de consulta
Parametro | Descricao |
---|---|
nome | Realiza um filtro pelo nome |
cidade | Realiza um filtro por cidade |
bairro | Realiza um filtro por bairro |
mae | Realiza um filtro pelo nome da mae |
pai | Realiza um filtro pelo nome do pai |
resposta: HTTP 200 OK
[
{
"id": "7dac422f-0fe5-471e-8721-4e857a955614",
"nome_social": "Cláudia",
"nome_registro": "Natsu Daniela Gomes",
"genero": "Mulher Trans",
"sexo": "F",
"email": "claudia-gomes83@email.com",
"data_nasc": "2004/08/15",
"cpf": "777.749.847-98",
"rg": "28.692.250-2",
"signo": "Leão",
"mae": "Emanuelly Renata",
"pai": "Breno Martin Gomes",
"senha": "hYw35ayOU6",
"cep": "20251-050",
"endereco": "Rua Caetano Martins",
"numero": 916,
"bairro": "Rio Comprido",
"cidade": "Rio de Janeiro",
"estado": "RJ",
"telefone_fixo": "(21) 3685-6747",
"celular": "(21) 99365-8069",
"altura": "1,83",
"peso": 70,
"tipo_sanguineo": "A-",
"cor": "amarelo",
"notas": {
"ciencias_da_natureza": 10,
"ciencias_humanas": 10,
"linguagens_codigos": 10,
"matematica": 10,
"redacao": 10
},
"turma": "2022"
},
]
retorna todas as alunas
Aceita como parametro de consulta
Parametro | Descricao |
---|---|
id | id da aluna |
resposta: HTTP 200 OK
{
"id": "7dac422f-0fe5-471e-8721-4e857a955614",
"nome_social": "Cláudia",
"nome_registro": "Natsu Daniela Gomes",
"genero": "Mulher Trans",
"sexo": "F",
"email": "claudia-gomes83@email.com",
"data_nasc": "2004/08/15",
"cpf": "777.749.847-98",
"rg": "28.692.250-2",
"signo": "Leão",
"mae": "Emanuelly Renata",
"pai": "Breno Martin Gomes",
"senha": "hYw35ayOU6",
"cep": "20251-050",
"endereco": "Rua Caetano Martins",
"numero": 916,
"bairro": "Rio Comprido",
"cidade": "Rio de Janeiro",
"estado": "RJ",
"telefone_fixo": "(21) 3685-6747",
"celular": "(21) 99365-8069",
"altura": "1,83",
"peso": 70,
"tipo_sanguineo": "A-",
"cor": "amarelo",
"notas": {
"ciencias_da_natureza": 10,
"ciencias_humanas": 10,
"linguagens_codigos": 10,
"matematica": 10,
"redacao": 10
},
"turma": "2022"
},
retorna as notas de uma aluna
É necessário o ID da aluna
Parametro | Descricao |
---|---|
id | id da aluna |
resposta: HTTP 200 OK
{
"ciencias_da_natureza": 10,
"ciencias_humanas": 10,
"linguagens_codigos": 10,
"matematica": 10,
"redacao": 10
};
retorna o boletim de todas as alunas daquela turma
Parametro | Descricao |
---|---|
turma | turma da aluna |
resposta: HTTP 200 OK
[{
"ciencias_da_natureza": 10,
"ciencias_humanas": 10,
"linguagens_codigos": 10,
"matematica": 10,
"redacao": 10,
"situacao" : "APROVADO",
"media" : 10,
"turma": "2022",
"nome" : "Cláudia"
}];
cadastra uma aluna
Requirido body
Exemplo - Request
{
"nome_social": "Cláudia",
"nome_registro": "Natsu Daniela Gomes",
"genero": "Mulher Trans",
"sexo": "F",
"email": "claudia-gomes83@email.com",
"data_nasc": "2004/08/15",
"cpf": "777.749.847-98",
"rg": "28.692.250-2",
"signo": "Leão",
"mae": "Emanuelly Renata",
"pai": "Breno Martin Gomes",
"senha": "hYw35ayOU6",
"cep": "20251-050",
"endereco": "Rua Caetano Martins",
"numero": 916,
"bairro": "Rio Comprido",
"cidade": "Rio de Janeiro",
"estado": "RJ",
"telefone_fixo": "(21) 3685-6747",
"celular": "(21) 99365-8069",
"altura": "1,83",
"peso": 70,
"tipo_sanguineo": "A-",
"cor": "amarelo",
"turma": "2022"
},
resposta: HTTP 201 OK
{
"id": "7dac422f-0fe5-471e-8721-4e857a955614",
"nome_social": "Cláudia",
"nome_registro": "Natsu Daniela Gomes",
"genero": "Mulher Trans",
"sexo": "F",
"email": "claudia-gomes83@email.com",
"data_nasc": "2004/08/15",
"cpf": "777.749.847-98",
"rg": "28.692.250-2",
"signo": "Leão",
"mae": "Emanuelly Renata",
"pai": "Breno Martin Gomes",
"senha": "hYw35ayOU6",
"cep": "20251-050",
"endereco": "Rua Caetano Martins",
"numero": 916,
"bairro": "Rio Comprido",
"cidade": "Rio de Janeiro",
"estado": "RJ",
"telefone_fixo": "(21) 3685-6747",
"celular": "(21) 99365-8069",
"altura": "1,83",
"peso": 70,
"tipo_sanguineo": "A-",
"cor": "amarelo",
"notas": {},
"turma": "2022"
},
cadastra as notas de uma aluna
Requirido body
Exemplo - Request
{
"ciencias_da_natureza": 10,
"ciencias_humanas": 10,
"linguagens_codigos": 10,
"matematica": 10,
"redacao": 10,
};
resposta: HTTP 201 OK
{
"ciencias_da_natureza": 10,
"ciencias_humanas": 10,
"linguagens_codigos": 10,
"matematica": 10,
"redacao": 10,
},
Atualiza uma aluna
Body exemplo
resposta: HTTP 200 OK
{
"id": "7dac422f-0fe5-471e-8721-4e857a955614",
"nome_social": "Cláudia",
"nome_registro": "Natsu Daniela Gomes",
"genero": "Mulher Trans",
"sexo": "F",
"email": "claudia-gomes83@email.com",
"data_nasc": "2004/08/15",
"cpf": "777.749.847-98",
"rg": "28.692.250-2",
"signo": "Leão",
"mae": "Emanuelly Renata",
"pai": "Breno Martin Gomes",
"senha": "hYw35ayOU6",
"cep": "20251-050",
"endereco": "Rua Caetano Martins",
"numero": 916,
"bairro": "Rio Comprido",
"cidade": "Rio de Janeiro",
"estado": "RJ",
"telefone_fixo": "(21) 3685-6747",
"celular": "(21) 99365-8069",
"altura": "1,83",
"peso": 70,
"tipo_sanguineo": "A-",
"cor": "amarelo",
"notas": {},
"turma": "2022"
},
Atualiza a nota de uma aluna
Body exemplo
resposta: HTTP 200 OK
{
"ciencias_da_natureza": 10,
"ciencias_humanas": 10,
"linguagens_codigos": 10,
"matematica": 10,
"redacao": 10,
},
Deleta uma aluna
É necessário o ID da aluna
Parametro | Descricao |
---|---|
id | id da aluna |
resposta: HTTP 204 NO CONTENT
{ }
📂 API
├─ 📂 src
│ ├─ 📂 controllers
│ │ └─ alunasController.js
│ ├─ 📂 models
│ │ └─ alunasModel.js
│ ├─ 📂 database
│ │ └─ banco.js
│ ├─ 📂 routes
│ │ └─ alunasRouter.js
│ └─ app.js
├─ package-lock.json
├─ package.json
├─ .gitignore
├─ README.md
└─ server.js
Dependencia | Versao |
---|---|
NodeJs | >= 14x |
NPM | >= 8x |
Express | - |
Nodemon | - |
- O que é uma API
- Playlist - Javascript Resumo
- API Rest Boas Praticas
- URL / URI Convenção
- Api Rest Boas Praticas Endpoint
- CQRS
- CRUD
- JavaScript: Destructuring
Desenvolvido com 💜