O documento fornece uma introdução sobre APIs RESTful usando Python. Resume os principais conceitos como recursos, verbos HTTP, constraints do REST e frameworks como Django e Flask para construir APIs RESTful em Python.
5. API
⊡Conjunto de recursos e funções.
⊡Desenvolvimento desacoplado.
⊡Garantir um acesso uniforme a sua aplicação
⊡Independente de linguagem, paradigma ou
plaforma.
6. ““Conjunto de “coisinhas” da sua aplicação
que você disponibiliza para outras pessoas
acessarem da forma que elas quiserem por
onde quiserem sem ninguém precisar
entender como elas funcionam”
⊡ FIDELIS, Matheus
9. “Prover uma maneira simples e uniforme
para Aplicações Web, Apps Android, IOS,
Televisões, Geladeiras, Carros, Cafeteiras,
Arduinos, Seres Alienígenas e até mesmo
outras API’s a acessarem e modificarem
seus dados falando a mesma língua.
18. “São métodos que podemos utilizar
para criar uma API RESTful.
Atualmente são 9, e possuem
finalidades de aplicar operações a
serem efetuadas sob um
determinado recurso
19. PRINCIPAIS VERBOS
Method Ação
GET OBTEM DADOS DE UM REGISTRO
POST CRIA UM NOVO REGISTRO
PUT SUBSTITUI DADOS DE UM REGISTRO
DELETE DELETA UM REGISTRO
VERBOS HTTP
20. OUTROS VERBOS
Method Ação
HEAD RETORNA O CABEÇALHO DA REQUEST
OPTIONS RETORNA QUAIS MÉTODOS ESTÃO DISPONÍVEIS
PATCH MODIFICAÇÕES PARCIAIS NO REGISTRO
TRACE RETORNA A REQUISIÇÃO FEITA PARA COMPARAR MODIFICAÇÕES
CONNECT CRIA UMA CONEXÃO TCP COM O SERVIDOR
VERBOS HTTP
24. REST
⊡REST (Representational State Transfer)
⊡Formalização de um conjunto de boas
práticas do uso do HTTP
⊡Tirar o melhor proveito possível dos recursos
que o HTTP disponibiliza
⊡Constraints
42. “Uma aplicação REST deve ter a
capacidade de adicionar elementos
intermediários de forma transparente
Ex: Load Balances, Cache Servers,
Gateways, Analytics, WAF e etc.
48. ““O REST é um modelo de
arquitetura. O SOAP é um
protocolo de rede ao pé da
letra”
49. REST VS SOAP
REST
SOAP
MODELO ARQUITETURAL PROTOCOLO
REQUESTS VIA HTTP SIMPLES
CHAMADAS SOAP EMPACOTADAS QUE
UTILIZAM O HTTP PARA EXECUTAR
CHAMADAS RPC
(REMOTE PROCEDURE CALL)
JSON, XML, YAML, HTML... APENAS XML
52. “Media Types
Media Type é uma string que define
qual o formato do dado e como ele
deve ser lido.
http://www.iana.org/assignments/media-types/media-types.xhtml
66. DJANGO REST FRAMEWORK
● Extensão do Django Framework
● Framework MVC em Python
● Configuração um pouco complexa
● Várias camadas
● Aplicação Modular
● Referência em aproveitamento dos recursos
HTTP
● Suporte para Migrations
● Suporte para Serialização
● Suporte para Content Negotiation Inteligente
● Ideal pra API’s com maior porte e maior numero
de devs na equipe
70. FLASK
● Micro Framework em Python
● Quickstart Rápido
● Bem leve e escalável
● Muito verboso
● Requer muita implementação manual
● Ideal pra coisas simples e abstração de recursos
da infraestrutura.