Giter Site home page Giter Site logo

crysmello / on11-todasemtech-s7-api-get Goto Github PK

View Code? Open in Web Editor NEW

This project forked from reprograma/on11-todasemtech-s7-api-get

0.0 0.0 0.0 123 KB

Introdução à API: GET // Servidor, Endpoints, Rotas, Status Code, curl, postman

JavaScript 100.00%

on11-todasemtech-s7-api-get's Introduction

On11-TodasEmTech-s7-API-GET

Turma Online 11 - Todas em Tech | Back-end | 2021 | Introdução à API: GET

Principais comando usados

Para iniciar pela primeira um projeto com node.js

npm init -y

Para instalar dependências com npm

npm install express
npm install nodemon

Para rodar o servidor

npm start

Quando usamos o nodemon devemos modificar nossos scripts de start dentro do package.json

"start": "nodemon server.js"

Para instalar dependências de um projeto com node.js que já foi iniciado

npm install

Demanda de Negócio

Dentro do trabalho de desenvolvimento de softwares é bem difícil que trabalhemos sozinhas e na maioria das vezes não seremos nós que decidiremos o que uma API vai fazer. Quando trabalhamos construindo APIs, muitas vezes as necessidades e demandas virão de pessoas não técnicas, serão seus clientes ou a área de negócio que dirão o que querem que sua API faça. Como por exemplo, essas demandas que vieram para a nossa primeira API:

  • quero poder consultar uma lista dos filmes da ghibli por titulo, id e também a lista completa.
  • quero uma api que retorne os Estados e as cidades, tem que conseguir filtrar por sigla
  • tem que filtrar somente as cidades pela sigla
  • tem que apresentar somente os nomes e as siglas dos estados
  • se o usuário digitar errado quero retorno do erro amigavel

Muitas vezes fica pra as desenvolvedoras receber demandas mais abstratas e construir a API que atendam à elas. Nessa caso, a primeira etapa é escrever de forma clara quais serão as necessidades:

  • Todas as rotas serão de consulta e leitura, logo, todas se referem ao método GET
  • Teremos 2 jsons, um com os filmes da ghibli e outro com uma lista de estados e suas respectivas cidades
  • Todas as rotas devem ter tratamentos de erros caso o cliente envie valores invalidos
  • A lista de filmes ghibli tem as seguintes demandas:
    • Retornar todos os filmes
    • Pesquisa por nome que retorne o nome, id e descrição
    • Pesquisa por id que retorne o nome, id e descrição
  • A lista de estados e cidades tem as seguintes demanadas:
    • Retornar todas os estados e suas cidades
    • Retornar todos os estados e siglas, sem as cidades
    • Pesquisa por sigla que retorne o nome do estado, sigla e suas cidades
    • Pesquisa por sigla que retorne somente as cidades do estado pesquisado

Agora que conseguimos definir bem quais foram as demandas podemos partir para a decisão das rotas da nossa API!

Rotas

[GET] "/filmes"

Retorna todos os filmes

[GET] "/filmes/{id}"

Retorna filme pelo id

[GET] "/filmes/filtro"

Retorna filme pelo titulo parâmetros titulo: string

[GET] "/estados/todos"

Retorna lista completa de estados-cidades

[GET] "/estados"

Retorna somente o nome e a sigla de cada estado

[GET] "/estados/{sigla}"

Retorna nome, sigla e cidades de uma sigla especifica

[GET] "/estados/cidades/{sigla}"

Retorna somente as cidades de uma sigla especifica


Para o lar!

Para o lar ficam as seguintes rotas das demandas de negócio:

[GET] "/estados/todos"

Retorna lista completa de estados-cidades

[GET] "/estados/{sigla}"

Retorna nome, sigla e cidades de uma sigla especifica

O exercício para o lar devera ser feito dentro da pasta servidor-paraolar. Lá você devera criar um novo servidor e configurar sua porta e criar essas duas rotas.

		\--📂 On11-TodasEmTech-s7-API-GET
			|
			\--📂meu-primeiro-servidor
			|
			\--📂meu-primeiro-servidor
			|				
			**\--📂servidor-paraolar
			    |   server.js
			    📂---data
			    |       estados-cidades.json**

Observe que o json de estados-cidades, está um pouco mais simples! O foco desse exercício é que vocês consigam entender bem quais são os comandos necessários para criar um servidor com node.js

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.