json-server | Node.js
- json-server | Node.js
🔧 Comando
npm install -g json-server
🧠 O que o comando faz?
npm– Node Package Manager, usado para instalar pacotes do ecossistema Node.js.install– Indica que você quer instalar um pacote.-g– Instala o pacote globalmente, ou seja, estará disponível em qualquer lugar do sistema (e não apenas no projeto atual).json-server– Nome do pacote a ser instalado.
📌 Pré-requisitos
Antes de rodar o comando, você precisa:
-
Ter o Node.js e o npm instalados:
- Verifique com:
node -venpm -v - Se não estiver instalado, acesse: https://nodejs.org/
- Verifique com:
🛠️ Para que serve o json-server?
Ele cria um servidor REST completo com:
- Rotas
GET,POST,PUT,PATCH,DELETE - Suporte a filtros, paginação, ordenação, busca
- Watch mode (auto-reload ao alterar o arquivo JSON)
Tudo isso baseado em um simples arquivo db.json como este:
{
"posts": [
{ "id": 1, "title": "Hello World" }
],
"comments": [
{ "id": 1, "body": "Nice post!", "postId": 1 }
]
}
🚀 Como usar depois da instalação
1. Criar o arquivo db.json
echo '{ "posts": [ { "id": 1, "title": "Hello World" } ] }' > db.json
2. Iniciar o servidor
json-server --watch db.json
Por padrão, a API estará disponível em: http://localhost:3000
🌐 Exemplo de rotas geradas
Com o exemplo acima (posts), você terá:
| Método | Rota | Descrição |
|---|---|---|
| GET | /posts | Lista todos os posts |
| GET | /posts/1 | Busca post por ID |
| POST | /posts | Cria novo post |
| PUT | /posts/1 | Atualiza post inteiro |
| PATCH | /posts/1 | Atualiza parcialmente |
| DELETE | /posts/1 | Remove post |
🧪 Exemplos de uso com curl
Criar novo post
curl -X POST -H "Content-Type: application/json" -d '{"title": "Novo post"}' http://localhost:3000/posts
Atualizar post
curl -X PATCH -H "Content-Type: application/json" -d '{"title": "Atualizado"}' http://localhost:3000/posts/1
🧯 Como remover
Caso deseje remover o json-server globalmente:
npm uninstall -g json-server
📚 Links úteis
- GitHub: https://github.com/typicode/json-server
- Documentação oficial: https://www.npmjs.com/package/json-server