Neste tutorial, você verá como começar a configurar e usar um servidor de API REST falso usando json-server, que pode ser usado ao desenvolver aplicativos móveis ou da web. Este tutorial pressupõe que você tenha um conhecimento básico de solicitações JSON e HTTP.
O que é RESTO?
REST significa Transferência de Estado Representacional. É um estilo de arquitetura para projetar aplicativos conectados. Ele usa HTTP simples para possibilitar a comunicação entre máquinas. Assim, em vez de usar uma URL para manipular algumas informações do usuário, o REST envia uma solicitação HTTP como GET, POST, DELETE etc. para uma URL para manipular dados.
Por exemplo, em vez de fazer uma solicitação GET para um URL como /deleteuser?id=10
o pedido seria como DELETE /user/10
.
Por que precisamos de uma API REST falsa?
As APIs REST formam o back-end para aplicativos móveis e da Web. Ao desenvolver aplicativos, às vezes você não terá as APIs REST prontas para serem usadas para fins de desenvolvimento. Para ver o aplicativo móvel ou web em ação, precisamos de um servidor que gere alguns dados JSON fictícios.
É quando a API REST falsa entra em cena. json-server
fornece a funcionalidade para configurar um servidor de API REST falso com o mínimo de esforço.
Começando
Para começar a usar json-server
instale o pacote usando o Node Package Manager (npm).
npm install -g json-server
Crie um arquivo JSON fictício com alguns dados conforme sua necessidade. Por exemplo, preciso de alguns dados JSON com informações do usuário como id, nome, local etc. Então, criarei um arquivo chamado info.json
com as seguintes informações JSON:
{ "users": [{ "id": 1, "name": "roy", "location": "india" }, { "id": 2, "name": "sam", "location": "wales" }] }
No terminal, execute o servidor json com info.json
como fonte de dados e você deve ter a API REST rodando em http://localhost:3000.
json-server info.json
Testando os endpoints da API REST
Como nosso servidor de API REST falso está funcionando, vamos ver como acessar a API REST usando um cliente. Estou usando o cliente REST Postman para fazer as chamadas da API.
Solicitação GET
Vamos começar fazendo um GET
solicitação para a URL REST. Dentro do arquivo json, definimos um endpoint users
que contém informações relacionadas aos usuários. Ao fazer um GET
request para a URL http://localhost:3000/users, ele deve exibir os dados existentes.
[ { "id": 1, "name": "roy", "location": "india" }, { "id": 2, "name": "sam", "location": "wales" } ]
Solicitação POST
Para adicionar novos dados aos dados existentes, faremos um POST
solicitação para a URL http://localhost:3000/users. Aqui está o que POST
pedido ficaria assim:
Experimente fazer um GET
solicitação e você deve ter os dados recém-adicionados no info.json
Arquivo.
[ { "id": 1, "name": "roy", "location": "india" }, { "id": 2, "name": "sam", "location": "wales" }, { "name": "ii", "location": "la", "id": 7 }, { "name": "Shona", "location": "LA", "id": 8 }, { "name": "Shona", "location": "LA", "id": 9 } ]
Apagar solicitação
Para excluir uma entrada do json-server
dados, você precisa enviar um DELETE
solicitação para o endpoint da API com o ID do usuário. Por exemplo, para excluir o usuário com Id 1, você precisa enviar um DELETE
solicitação para o ponto de extremidade http://localhost:3000/users/1. Depois de excluído, tente fazer um GET
request, e o usuário com Id 1 não deve estar no JSON retornado.
Solicitação de patch
Para atualizar uma entrada existente, você precisa enviar um PATCH
solicitação com os detalhes que precisam ser atualizados para essa entrada específica. Por exemplo, para atualizar os detalhes do usuário com ID 2, enviaremos um PATCH
request para a URL http://localhost:3000/users/2 como mostrado:
Pesquisando APIs REST do servidor json
Usando json-server
APIs REST, você pode pesquisar os dados para encontrar dados com base em determinados critérios. Por exemplo, para encontrar usuários com um nome específico, você precisa enviar uma solicitação GET para a URL da API REST, conforme mostrado:
Como visto na imagem acima, enviar uma solicitação GET para a URL http://localhost:3000/users?name=Shona retornaria os usuários com nome Shona
. Da mesma forma, para pesquisar usuários com outros campos, você precisa adicionar esse campo à string de consulta.
Para executar uma pesquisa de texto completo no endpoint da API REST, você precisa adicionar a string de pesquisa junto com o parâmetro q
ao ponto final. Por exemplo, para pesquisar usuários com informações contendo string de pesquisa s
a solicitação ficaria assim:
Manipulação de paginação
Ao exibir uma grade de dados paginada, seria necessário buscar alguns dados com base na paginação. Em tais cenários, json-server
fornece a funcionalidade para paginar os dados JSON. Por padrão, a contagem de dados retornados de json-server
é 10. Podemos definir explicitamente esse limite usando o _limit
parâmetro.
http://localhost:3000/users?_limit=5
Uma solicitação GET para a URL acima retornaria cinco registros. Agora, para paginar os dados, precisamos adicionar outro parâmetro _page
para o URL. _page
define a página que precisa ser buscada ao retornar os dados.
http://localhost:3000/users?_limit=5&_page=2
Uma solicitação GET para a URL acima retornaria a segunda página do conjunto de dados com cinco registros por página. Ao alterar o _page
variável, podemos buscar os registros de página necessários.
Manipulação de classificação
json-server
fornece a funcionalidade para classificar os dados recuperados. Podemos classificar os dados fornecendo o nome da coluna que precisa ser classificada e a ordem em que os dados precisam ser classificados. Por padrão, os dados são classificados em ordem crescente. Podemos fornecer o nome da coluna na URL do endpoint usando a palavra-chave _sort
e defina a ordem usando a palavra-chave _order
. Aqui está um exemplo de URL:
http://localhost:3000/users?_sort=id&_order=DESC
O URL acima classificaria os dados com base na coluna Id
e seria classificado em ordem decrescente.
Operadores de manuseio
json-server
também fornece a funcionalidade para dar suporte a operadores como localizar uma entrada com Id no intervalo entre dois valores ou uma entrada que corresponda a uma expressão regular específica.
Para encontrar uma entrada dentro de um determinado intervalo, podemos usar o _gte
e _lte
operadores. Por exemplo, para encontrar usuários com Id maior que 1 e menor que 2, faça uma solicitação GET para a URL http://localhost:3000/users?id_gte=1&id_lte=2 conforme mostrado:
Se quisermos pesquisar nomes que começam com uma determinada letra, podemos usar expressões regulares. Por exemplo, para pesquisar nomes que começam com letras sa
faremos uso do _like
operador e fazer um GET
solicitação para a URL http://localhost:3000/users?name_like=^sa.
Conclusão
Neste tutorial, você viu como usar json-server
APIs REST para criar um banco de dados fictício para uso rápido. Você aprendeu como começar a usar json-server
e consulte a URL para adicionar, atualizar, modificar e excluir dados. Você viu como paginar, classificar e pesquisar os dados fictícios. Você também viu como usar operadores para pesquisar entradas usando expressões regulares.
Você já usou json-server
ou qualquer outro servidor de API REST falso para criação de dados fictícios? Como foi sua experiência? Deixe-nos saber seus pensamentos nos comentários abaixo.
Originally posted 2022-06-24 08:38:28.