0% acharam este documento útil (0 voto)
5 visualizações

Aula 01 API Python.pptx 034641

Enviado por

paulomigueoli
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações

Aula 01 API Python.pptx 034641

Enviado por

paulomigueoli
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 18

Curso: API Python

Aula 1
© Copyright 2018-2019 www.infinityschool.com.br - All Rights
Tema da aula:
Aula 1 - Conceitos essenciais sobre APIs

Nesta aula você conhecerá:


• O que é uma API?
• Diferença entre REST e RESTFul
• Endpoints
• Exemplos de API pública
• Requests e verbos HTTP
• Responses e status code
• Segurança de API
• Configuração de ambiente de desenvolvimento
• Anaconda & VSCode
• Ambiente virtual

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


O que é uma API?

API’s significa Application Programming Interface (Interface de Programação de Aplicação). São


mecanismos que permitem que dois componentes de software se comuniquem usando um conjunto de
definições e protocolos.

De forma prática, uma API é um programa que irá fornecer dados para uma aplicação por meio de
troca de mensagens entre um ou mais clientes e um servidor.

API Cliente
(Usuário)

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


O que é uma API?

Por exemplo, o sistema de software do instituto meteorológico contém dados meteorológicos diários. O
aplicativo meteorológico em seu telefone “fala” com este sistema por meio de APIs e mostra
atualizações meteorológicas diárias no telefone.

Servidor Cliente
(Sistema meteorológico) (Usuário, TV,
celular, notebook)

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


REST e Restful
Arquitetura REST

Modelo REST (Representional State Transfer) é um padrão de arquitetura que estabelece as regras para
a construção de um serviço Web, criado por Roy Fielding. REST é o modelo de API web mais popular
atualmente, onde um cliente envia dados ao servidor e o servidor responde um novo conjunto de dados
resultantes do processamento.

RESTFul é uma API criada utilizando a arquitetura REST, ou seja, que segue suas regras e mantém
suas características.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


REST e Restful
API RESTFul

As principais características são:


• Cliente-servidor: define as responsabilidades dos participantes de forma clara;
• Stateless: A conexão é sem estado, logo, o servidor não deve manter sessão com cliente;
• Cache: O servidor deve analisar quando uma determinada informação deve ser mantida em cache;
• Interface uniforme: Uso correto dos verbos HTTP.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


ENDPOINTS

Um endpoint é um local onde as requisições ou chamadas à API são atendidas, isto é, são endereços
de URL utilizados para comunicação entre uma API e um sistema externo.

Requisição

Resposta
Servidor Cliente
(Sistema meteorológico) (Usuário)

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


ENDPOINTS
Exemplos de API Públicas:

• IntegraSUS (https://integrasus.saude.ce.gov.br/api/coronavirus/)

• openweathermap (https://openweathermap.org/api)

• Consulta de CEP (https://viacep.com.br/)

• Covid19 Brazil (https://covid19-brazil-api-docs.vercel.app/)

• IBM Watson (https://www.ibm.com/watson/products-services)

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Request
A comunicação com uma API é feita por meio de troca de mensagens entre um usuário ou aplicação e
uma API. O usuário faz uma chamada a API por meio de uma requisição HTTP (request) e a API retorna
o resultado da requisição com uma resposta (response).

Request

Response
Servidor Cliente
(Sistema meteorológico) (Usuário)

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


VERBOS HTTP
Os métodos HTTP, também chamados de verbos HTTP, indicam os diferentes tipos de operações que o
cliente pode realizar para manipular os dados através de requisições para a API.

Código HTTP Resposta

POST É utilizado para criar um novo registro no banco de dados.

GET É utilizado para ler registros no banco de dados.

PUT É utilizado para atualizar um registro no banco de dados.

PATCH É utilizado para atualizar parte de um registro no banco de dados.

DELETE É utilizado para deletar um registro no banco de dados.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Response
A resposta a uma requisição pode ser formada um poum código, indicando o resultado do
processamento, e, quando bem sucedida, um conjunto de dados em formato json.

Json: JavaScript Object Notation é uma forma de trocar informações entre sistemas de forma leve e
rápida. O formato é caracterizado por um par de “chave e valor”.

Exemplo:

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Response
Cada código de resposta (status code) indica um possível resultado do processamento da requisição.

Exmplos: https://http.cat/

Código HTTP Resposta

400 Bad request Erro do cliente.

401 Unauthorized Não autorizado.

404 Not found Não encontrado.

500 Internal Server Error Erro no processamento do servidor.

200 OK Página acessada.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Segurança de API
Para evitar ataques cibernéticos, como um número massivo de solicitações simultâneas, algumas API’s
possuem uma camada de segurança de autenticação, que faz com que um cliente precise ser
autenticado para fazer requisições.

Autenticação é o processo de verificar a identidade. Nesse contexto, o processo de autenticação pode


ser realizado por meio de:

• Chave de API: designa-se uma chave ou uma sequência de caracteres exclusiva ao cliente de API
que apenas ele e o serviço de API conheçam. A chave é incluída a cada solicitação para que o
servidor saiba de onde veio a requisição.
• Autenticação básica (usuário e senha): Semelhante chave. O usuário e senha são anexados à
requisição.
• Token OAuth: O servidor pode solicitar uma autorização de um servidor de confiança,
• TLS Mútuo: TLS é o protocolo que cria uma conexão autenticada entre o cliente e o servidor ao
carregar páginas web.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Configuração do Ambiente
Anaconda
• Anaconda é um ambiente de desenvolvimento que inclui python e disponibiliza um conjunto de
aplicações para fácil instalação por meio de sua interface, incluindo VS Code.

• O Anaconda pode ser baixado na página oficial do projeto:


https://www.anaconda.com/products/distribution

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Configuração do Ambiente

Criação de um ambiente virtual


• Abra o terminal do anaconda e digite:
• conda create --name nome_do_ambiente

• Aguarde a criação do ambiente. Após a criação digite:


• conda activate nome_do_ambiente

• Pronto! Agora basta instalar as bibliotecas e aplicações necessárias para o seu projeto.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Configuração do Ambiente
Configuração do python no VS Code
• Ative seu ambiente virtual pelo terminal do anaconda;
• Abra o VS Code
• Na tela inicial use o atalho: Ctrl + shift + P e digite:
• Python: Select Interpreter
• Selecione o python correspondente ao seu ambiente
• Pronto! Ambiente configurado.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Configuração do Ambiente

Instalação de bibliotecas
• Abra o terminal do anaconda e digite:
• pip install uvicorn (servidor de aplicação para o fastapi)
• pip install fastapi (biblioteca para construção de API)
ou
• conda install -c conda-forge uvicorn -y (servidor de aplicação para o fastapi)
• conda install -c conda-forge fastapi -y (biblioteca para construção de API)

• Pronto! Ambiente configurado e pronto para iniciar o desenvolvimento das API’s.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


71 3901 1052 | 71 9 9204 0134
@infinity.school
www.infinityschool.com.br
Salvador Shopping Business | Torre Europa Sala
310 Caminho das Árvores, Salvador - BA CEP:
40301-155
© Copyright 2018-2019 www.infinityschool.com.br - All Rights

Você também pode gostar