Importante
Visualizando a documentação beta v1 - utilizável, mas espere que as mudanças de quebra. Para uma versão estável, veja aqui
Ei! Usando React, Vue ou Astro? Verifique meu novo projeto MISTCSS para escrever um código 50% menos.
npm install json-server
Crie um arquivo db.json
ou db.json5
{
"posts" : [
{ "id" : " 1 " , "title" : " a title " , "views" : 100 },
{ "id" : " 2 " , "title" : " another title " , "views" : 200 }
],
"comments" : [
{ "id" : " 1 " , "text" : " a comment about post 1 " , "postId" : " 1 " },
{ "id" : " 2 " , "text" : " another comment about post 1 " , "postId" : " 1 " }
],
"profile" : {
"name" : " typicode "
}
}
{
posts : [
{ id : '1' , title : 'a title' , views : 100 } ,
{ id : '2' , title : 'another title' , views : 200 } ,
] ,
comments : [
{ id : '1' , text : 'a comment about post 1' , postId : '1' } ,
{ id : '2' , text : 'another comment about post 1' , postId : '1' } ,
] ,
profile : {
name : 'typicode' ,
} ,
}
Você pode ler mais sobre o formato JSON5 aqui.
Passe para o JSON Server CLI
$ npx json-server db.json
Obtenha uma API de descanso
$ curl http://localhost:3000/posts/1
{
" id " : " 1 " ,
" title " : " a title " ,
" views " : 100
}
Run json-server --help
para uma lista de opções
Patrocinadores |
---|
![]() |
Patrocinadores |
---|
![]() |
Patrocinadores | |
---|---|
![]() | ![]() |
![]() | ![]() |
Torne -se um patrocinador e tenha o logotipo da sua empresa aqui
Observação
Este projeto usa a licença de fonte justa. Somente as organizações com mais de 3 usuários são solicitadas a contribuir com uma pequena quantidade por meio de patrocinador de patrocínio para uso. Esta licença ajuda a manter o projeto sustentável e saudável, beneficiando a todos.
Para mais informações, as perguntas frequentes e a lógica por trás disso, visite https://fair.io/.
Com base no exemplo db.json
, você receberá as seguintes rotas:
GET /posts
GET /posts/:id
POST /posts
PUT /posts/:id
PATCH /posts/:id
DELETE /posts/:id
# Same for comments
GET /profile
PUT /profile
PATCH /profile
→ ==
lt
→ <
lte
→ <=
gt
→ >
gte
→ >=
ne
→ !=
GET /posts?views_gt=9000
start
end
limit
GET /posts?_start=10&_end=20
GET /posts?_start=10&_limit=10
page
per_page
(padrão = 10) GET /posts?_page=1&_per_page=25
_sort=f1,f2
GET /posts?_sort=id,-views
xyz..
xyz[i]...
GET /foo?a.b=bar
GET /foo?x.y_lt=100
GET /foo?arr[0]=bar
GET /posts?_embed=comments
GET /comments?_embed=post
DELETE /posts/1
DELETE /posts/1?_dependent=comments
Se você criar um diretório ./public
, o JSON Server servirá seu conteúdo, além da API REST.
Você também pode adicionar diretórios personalizados usando -s/--static
.
json-server -s ./static
json-server -s ./static -s ./node_modules
id
é sempre uma string e será gerado para você se falta_per_page
com _page
em vez de _limit
para paginaçãoNetwork tab > throtling
para adiar as solicitações em vez de -Opção de CLI --delay