Pular para o conteúdo
murad.guide

Aplicações Web

Capítulo 16

API REST do Ateliê

2 min de leitura 403 palavras 1 gravura

Neste capítulo você vai expor GET e POST /oficinas com arquivo JSON local. O projeto-fio é o Ateliê Boa Viagem, ateliê digital fictício em Boa Viagem, Recife.

Seu ponto de partida

Use o exemplo 16-node-api do pacote anexo e copie inicio/ para uma pasta de prática fora do original. A raiz do exemplo é a referência completa desta etapa.

Use servidor só em 127.0.0.1 quando o README do exemplo pedir HTTP local. Abrir ou testar não publica nada.

Como praticar

Leia → copie ou digite → mude uma coisa → preveja → salve → recarregue → confira. Restaure cada experiência antes da próxima. Faça as atividades antes de abrir as respostas comentadas.

Mapa visual de API REST do Atelie

GET devolve coleção

Leia oficinas.json e responda a lista. Sem banco neste volume.

Faça na sua cópia

Confira o trecho no contexto do exemplo antes de mudar.

const dados = JSON.parse(fs.readFileSync('oficinas.json', 'utf8'));

Mude uma coisa e preveja

Inclua uma oficina no arquivo e consulte GET.

Anote o que espera observar antes de salvar e recarregar.

Recarregue e confira

A nova oficina aparece no JSON.

Se não acontecer

Caminho do arquivo relativo ao cwd do processo.

POST acrescenta item

Leia o corpo, valide nome, gere id, grave o arquivo. Responda 201.

Faça na sua cópia

Confira o trecho no contexto do exemplo antes de mudar.

res.writeHead(201, { 'Content-Type': 'application/json' });

Mude uma coisa e preveja

Rejeite nome vazio com 400.

Anote o que espera observar antes de salvar e recarregar.

Recarregue e confira

POST inválido não grava.

Se não acontecer

Acumule o body em ‘data’ events.

CORS só se precisar

Se o front estiver em outra origem/porta, configure cabeçalhos com cuidado. Preferência: servir front e API juntos no próximo volume.

Faça na sua cópia

Confira o trecho no contexto do exemplo antes de mudar.

mesma origem > CORS amplo

Mude uma coisa e preveja

Teste GET com curl na mesma máquina.

Anote o que espera observar antes de salvar e recarregar.

Recarregue e confira

JSON válido retorna.

Se não acontecer

Confira a porta 8781 do exemplo.

Atividades

Atividade 1

Onde os dados ficam neste volume?

Atividade 2

Qual status de criação bem-sucedida?

Atividade 3

O que validar no POST?

Respostas comentadas

Resposta da atividade 1

Arquivo oficinas.json no disco local.

Resposta da atividade 2

Resposta da atividade 3

Nome presente e não vazio (mínimo).