Vimos no último artigo como buscar dados em APIs externas utilizando o Python e o quão simples este processo é. Agora, para completar o CRUD, veremos como inserir, editar e remover itens de uma API externa com Python e, com isso, entender o processo de consumir APIs com Python.
Cadastrando dados em uma API
Como vimos no artigo anterior, nossa API irá armazenar tarefas a serem realizadas. Estas tarefas são compostas por um título e uma descrição.
Sendo assim, para cadastrar uma tarefa na API, precisamos seguir o mesmo padrão que a API espera como requisição. Para isso, para inserir dados na API, basta enviar uma requisição do tipo POST (para cadastar dados) com um objeto do tipo Tarefa (possuindo título e descrição).
Para isso, o primeiro passo é criar uma classe Tarefa e definir, em seu construtor, os atributos título e descrição, como podemos ver abaixo:
class Tarefa():
def __init__(self, titulo, descricao):
self.titulo = titulo
self.descricao = descricao
Agora, basta enviar uma requisição para a API utilizando o verbo POST e, em seu corpo (utilizando o atributo data
), converter o objeto do tipo tarefa para um json, como podemos ver abaixo:
import requests
import json
import tarefa
def buscar_dados():
request = requests.get("http://localhost:3002/api/todo")
todos = json.loads(request.content)
print(todos)
print(todos[0]['titulo'])
def cadastrar_dados(tarefa):
requests.post("http://localhost:3002/api/todo",
data=json.dumps(tarefa.__dict__))
if __name__ == '__main__':
cadastrar_dados(tarefa.Tarefa("Escrever o artigo de Python", "Segunda parte"))
buscar_dados()
Curso Python - Orientação a objetos
Conhecer o cursoPara que um objeto Python possa ser convertido para um json
, precisamos utilizar o __**dict**__
para este objeto como parâmetro do método dumps()
do pacote json
. Agora, ao executar o código acima, a tarefa será cadastrada em nossa API, como podemos ver abaixo:
Editando dados em uma API
O processo de edição consiste em enviar o id de uma tarefa (que será editada) na url da requisição e os novos dados da tarefa a ser editada. É uma mistura dos métodos cadastrar_dados()
e listar_dados_id()
.
Para isso, o verbo HTTP utilizado para este tipo de requisição é o PUT
, responsável por editar dados em uma API. Sendo assim, o código responsável por editar dados em uma API utilizando o python pode ser visto abaixo:
def editar_dados(id, tarefa):
requests.put(f"http://localhost:3002/api/todo?id={id}",
data=json.dumps(tarefa.__dict__))
Como podemos ver acima, o processo é bem simples, basta enviar o id da tarefa e os dados a serem editados.
Curso Django - Fundamentos
Conhecer o cursoO resultado da execução pode ser visto abaixo:
Removendo dados de uma API
A remoção de elementos também é muito simples. Basta enviar uma requisição utilizando o verbo DELETE do HTTP com o id da tarefa que queremos remover:
def remover_dados(id):
requests.delete(f"http://localhost:3002/api/todo?id={id}")
Agora, ao executar o método desenvolvido, já estamos prontos para remover dados da API:
Conclusão
O uso de APIs em um projeto é de grande importância, visto que há casos em que precisamos obter dados de servidores remotos para utilizar em nossos projetos. No Python, o processo de consumir APIs com Python é bem simples como pudemos ver em todo o artigo.