Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. JSON
Code

Criando uma API REST Falsa Com json-server

by
Difficulty:BeginnerLength:ShortLanguages:

Portuguese (Português) translation by Erick Patrick (you can also view the original English article)

Nesse tutorial, veremos como iniciar na preparação de uma servidor de API REST falsa usando json-server, que podemos usar ao desenvolver aplicações móveis ou web. Esse tutorial assume o conhecimento básico de requisições HTTP e de JSON.

O Que É REST?

REST vem de REpresentational State Transfer. É um estilo de arquitetura para projetar aplicações conectadas, usando os simples verbos HTTP para permitir a comunicação entre as máquinas. Assim, ao invés de usar uma URL para manipular informação do usuário, REST enviar uma requisição HTTP, como GET, POST, DELETE, etc., para uma URL manipular os dados.

Por exemplo, ao invés de criar requisição GET para uma URL tipo /deleteuser?id=0, a requisição seria DELTE /user/10.

Por Que Precisamos de uma API REST Falsa?

APIs REST formam o backend de aplicações web e móveis. Ao criar aplicações, algumas vezes não temos APIs REST prontas para uso no durante o desenvolvimento. Para ver um app web ou móvel em ação, precisamos de um servidor que retorne dados JSON falsos.

É aí que uma API REST falsa entra em ação. json-server provê a funcionalidade para configurar um servidor de API REST falso com mínimo de esforço.

Começando

Para começar a usar json-server, instalemos o pacote usando o npm.

Criemos um arquivo JSON com alguns dados, de acordo com nossas necessidades. Por exemplo, precisamos de dados JSON com informações de usuário como id, nome, local, etc. Então, criaremos um arquivo info.json com o seguinte:

Do terminal, executemos o servidor json com info.json como fonte de dados e deveremos ter uma API REST rodando em http://localhost:3000.

Testando Pontos de Acesso da API REST

Já que nosso servidor falso de API REST está funcionando, vejamos como acessá-lo usando um cliente. Usaremos o cliente REST chamado Postman para isso.

Requisição GET

Comecemos criando uma requisição GET à URL REST. No arquivo json, definimos um ponto de acesso users que contém informação relacionada aos usuários. Ao fazer uma requisição GET à URL http://localhost:3000/users, ela deve mostrar os dados existentes.

Requisição POST

Para adicionar novos dados a dados já existentes, faremos uma requisição POST à URL http://localhost:3000/users. Eis como a requisição POST parecerá:

POST Request

Ao fazer uma requisição GET de novo, devemos ver o novo dado adicionado ao arquivo info.json.

Requisição DELETE

Para deletar um algo dos dados do json-server, precisamos de uma requisição DELETE para o ponto de acesso com o id do usuário. Por exemplo, para deleter o usuário de id 1, precisamos de uma requisição DELETE para http://localhost:3000/users/1. Após isso, ao fazer um GET, não devemos ver o usuário de id 1 no JSON retornado.

Requisição PATCH

Para atualizar um registro, precisamos de uma requisição PATCH com detalhes que precisam ser atualizado. Por exemplo, para atualizar os detalhes do usuário de id 2, usamos uma requisição PATCH para http://localhost:3000/users/2, assim:

Patch Request

Pesquisando em APIs REST do json-server

Ao usar APIs REST do json-server, podemos buscar algo usando critérios. Por exemplo, para encontrar o usuário com um nome em particular, criarmos um GET à URL da API REST, assim:

Sending a GET request to the REST API URL

Como visto na imagem acima, enviar requisições GET à URL http://localhost:3000/users?name=Shona retornará os usuários com nome Shona. Igualmente, para pesquisar por usuários usando outros campos, precisamos deles na consulta:

Para uma pesquisa completa de texto no ponto de acesso da API REST, precisamos adicionar o texto da consulta junto do parâmetro q ao ponto de acesso. Por exemplo, para pesquisas por usuários com dados que contenham a letra s, a requisição seria:

Full Text Search in json-server REST API

Lidando com Paginação

Ao mostrar uma grade de dados paginada, é necessário buscar dados com base na paginação. Em alguns cenários, json-server provê funcionalidades para paginar dados JSON. Por padrão, o número de dados retornado pelo json-server é 10. Podemos alterar usando o parâmetro _limit.

Um GET à URL acima retornará 5 resultados. Agora, para paginr os dados, precisamos adicionar outro parâmetro, _page, à URL. _page define a página de dados que precisa ser retornada.

Um GET à  URL acima retornaria a segunda página de dados do conjunto com 5 resultados por página. Ao mudar a variável _page, podemos obter os dados necessários.

Lidando com Ordenação

json-server provê a funcionalidade de ordenar os dados obtidos. Podemos ordená-los ao prover o nome da coluna que precisa ser ordenada e a ordem que precisa ser usada. Por padrão, os dados são ordenados ascendentemente. Podemos prover uma coluna na URL do ponto de acesso usando o parâmetro _sort e definir a orderm com _order. Eis um exemplo:

A URL acima ordenará os dados com base na coluna Id e de forma descendente.

Lidando com Operadores

json-server também provê o suporte a operadores, como a busca por um id em uma série entre 2 valores ou comparando com uma expressão regular.

Paa achar uma entrada em uma série particular, podemos usar _gte e _lte. Por exemplo, para obter os usuários com id maior que 1 e menor que 2, criamos um GET para a url http://localhost:3000/users?id_gte=1&id_lte=2, assim:

Handling Less Than Greater Than Operators

Se quisermos buscar nomes começando com uma certa letra, podemos usar expressões regulares. Por exemplo, para buscar nomes começando com sa, usaremos _like e um GET à url http://localhost:3000/users?name_like=^sa.

Handling Regular Expressions In Operators

Conclusão

Nesse tutorial, vimos como usar json-server para criar uma base de dados falsa para uma API REST. Aprendemos como começar a usá-lo com URLs para adicionar, atualizar, modificar e apagar dados. Vimos como paginar, ordenar e pesquisar dados. Também vimos como usar operadores de pesquisa e como usar expressões regulares.

Já usou o json-server ou qualquer outro servidor de API REST falso? Como foi a experiência? Diga-nos como foi na área de comentários.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.