Criando uma API RESTful com NodeJS e Express — Método POST

Tiago Lima
Comunidade XP

--

Eaeeee jovenzinhos, tudo bem com vocês?
Dando continuidade na nossa linda API com NodeJS. Neste artigo vamos implementar o método POST.

Antes de seguirmos, vcs viram o artigo anterior?

Baixem o projeto e vamos seguir juntos 🤘

Liminha, chega de história triste né fi, então bora lá 🤪

Primeiramente vamos abrir o nosso arquivo de configuração de rotas “./api/routes/customerWallets.js” e adicionar um novo método chamado “controller.saveCustomerWallets”

Galera, antes de seguir, vamos instalar uma lib bem legal que gera IDs únicos no nosso mock chamado

UUID

Isso mesmo, como estamos utilizando mock, vamos implementar esse cara bem legal chamado UUID que ao salvar nossos dados ele gera IDs únicos(uuid), vamos instalar na versão 3.3.3.

$ npm install uuid@3.3.3 --save

Dica: Um identificador único universal (do inglês universally unique identifierUUID) é um número de 128 bits usado para identificar informações em sistemas de computação. O termo identificador único global (globally unique identifierGUID) também é utilizado. O significado de cada bit é definido por qualquer uma das diversas variantes.

Pronto, agora vamos implementar o novo método no controller, vamos abrir o arquivo “./api/controllers/customerWallets.js” e criaremos o método “saveCustomerWallets.js”

Na linha 1 eu importo o UUID na versão 4 e utilizo nas linhas 15 e 16 para inserir um ID único.

Na linha 4 importamos nosso arquivo mock que nos retorna um objeto seguindo os padrões JSONAPI.org e na linha 7 criamos uma constante que faz o destructuring do objeto em um alias chamado “customerWalletsMock” que nos retorna um objeto com Array[data].

Dica: A sintaxe de atribuição via desestruturação (destructuring assignment) é uma expressão JavaScript que possibilita extrair dados de arrays ou objetos em variáveis distintas.

Na linha 14 fizemos o push no nosso array de carteira de clientes “customer-wallets” com os dados recebidos, perceba que eu salvo somente os dados com os valores que eu preciso, garantindo uma segurança de não salvar dados inesperados 😘

Na linha 26 retorno um status code 201 “created ” e o próprio objeto salvo.

Dica: olhem os status code

Prontinho galera, agora vamos testar nosso método POST.

Resultado do POST

Percebam o Time ao salvar no Postman: 49ms, isso aconteceu por que ao iniciar o servidor foi o primeiro POST, nos próximos devem diminuir o Time:

Meus jovenzinhos, por enquanto é isso, espero que gostem…
Vamos implementar os próximos métodos e features nos próximos artigos...

Vamos juntos nessa aventura top de JS 👊🏼

Segue link do projeto no Github e vamos evoluindo.

Até a próxima galera, um abração.

--

--

Tiago Lima
Comunidade XP

Staff Software Engineer at XP Inc. and Tech Enthusiast