Introdução ao FastAPI
Matt Eckerle
Software and Data Engineering Leader
Uso tradicional: pedir informações sobre um objeto
Parâmetros enviados na query string
Pode ser enviado de um navegador
api = "http://moviereviews.co/reviews/1"
response = requests.get(api)
Uso tradicional: criar um novo objeto
Parâmetros na query string e no corpo da requisição
Requer um aplicativo ou framework
cURL, requestsapi = "http://moviereviews.co/reviews/"
body = {"text": "A great movie!"}
response = requests.post(api, json=body)
Exemplo JSON
# Criar um registro para uma resenha de filme
{"movie": "The Neverending Story",
"review": {"num_stars": 4,
"text": "Great movie!",
"public": true}}
pydantic: interface para definir esquemas de corpo de requisição e resposta
Observação
Estamos aninhando
Reviewdentro deMovieReview
from pydantic import BaseModel
class Review(BaseModel):
num_stars: int
text: str
public: bool = False
class MovieReview(BaseModel):
movie: str
# Nest Review in MovieReview
review: Review
Endpoint POST para criar uma nova resenha de filme:
/reviewsMovieReview (do slide anterior)db_review (definido em outro lugar)@app.post("/reviews", response_model=DbReview)
def create_review(review: MovieReview):
# Persistir a resenha no banco de dados
db_review = crud.create_review(review)
# Retornar a resenha com o ID do banco
return db_review
Introdução ao FastAPI