Você está na página 1de 12

Exemplo API REST

com Express para


os mapas do IBGE
Francisco PAulo de Freitas Neto
INTRODUÇÃO

Para o nosso exemplo iremos precisar do NodeJS:


https://github.com/nvm-sh/nvm

Após instalar o nvm, executar o seguinte comando para


instalar o node: nvm install 10.16.3

Para verificar a versão do node: node --version


INTRODUÇÃO

Também utilizei o VisualStudio Code:


https://code.visualstudio.com/ mas não é essencial
CRIANDO O PROJETO

Vamos criar uma pasta onde ficará nosso projeto:

mkdir mapasibge

Vamos inicializar o npm para montar a estrutura do


nosso projeto

npm init -y
CRIANDO O PROJETO

Vamos usar o npm para baixar as dependências que


necessitamos:

npm i pg express nodemon

A versão inicial do projeto está disponível no GitHub:

https://github.com/BancoII-2019-2/Exemplo-API-SVG
CRIANDO O PROJETO

Vamos precisar de definir um procedimento armazenado


para recuperar a viewBox das geometrias, a consulta
está na pasta consultas do repositório.

Após definir o procedimento, caso desejarmos obter a


viewBox de alguma cidade fazemos:

select getViewBox('Apodi')
DEFININDO AS CONSULTAS

Para definir as consultas utilizamos a biblioteca pg


No arquivo consultas/queries.js Definimos um pool de
conexões: const pool = new Pool({
user: 'postgres',
host: 'localhost',
database: 'IBGE',
password: 'postgres',
port: 5432,
})
DEFININDO AS CONSULTAS

Criamos as funções para consultar o banco.


Vide funções getSVG e getViewBox

E por fim, exportamos as funções:


module.exports = {
getSVG,
getViewBox
}
CRIANDO A API
const express = require('express')

No arquivo index.js, const app = express()


const db = require('./consultas/queries')
definimos que const port = 3000

nossa aplicação
app.get('/getSvg/:nome', db.getSVG)
rodará na porta app.get('/getViewBox/:nome', db.getViewBox)

3000.
app.listen(port, () => {
console.log(`App running on port ${port}.`)
})
RODANDO A API

Utilizando o comando nodemon, podemos inicializar a


API e ela será reiniciada sempre que os arquivos forem
modificados.
USANDO A API

Podemos usar a API usando o Postman ou mesmo um


browser.

http://localhost:3000/getSvg/apodi

http://localhost:3000/getViewBox/apodi
ATIVIDADE

Como podemos exibir um SVG em uma página HTML,


vocês deverão criar uma aplicação na qual o usuário digita
o nome da cidade e a imagem do mapa daquela cidade é
exibida em SVG.

Você também pode gostar