Para retornar informações das tarefas em uma API de gestão de tarefas, você deve criar modelos de resposta Pydantic que representem os dados essenciais da tarefa e utilizar status codes adequados para cada operação. Veja como estruturar isso:
Um modelo típico para retorno de tarefa pode ser:
from pydantic import BaseModel
from typing import Optional, Literal
class TaskResponse(BaseModel):
id: int
title: str
description: Optional[str] = None
priority: int
status: Literal["pendente", "em andamento", "concluída"]
Para retornar uma lista de tarefas, utilize uma lista desse modelo:
from typing import List
tasks: List[TaskResponse]
Os principais status codes para operações REST são123456:
Exemplo de uso no FastAPI:
from fastapi import FastAPI, status
app = FastAPI()
@app.get("/tasks", response_model=List[TaskResponse], status_code=status.HTTP_200_OK)
def list_tasks():
...
@app.post("/tasks", response_model=TaskResponse, status_code=status.HTTP_201_CREATED)
def create_task(task: TaskCreate):
...
@app.get("/tasks/{task_id}", response_model=TaskResponse, status_code=status.HTTP_200_OK)
def get_task(task_id: int):
...
Assim, sua API será clara, padronizada e facilitará a integração com outros sistemas.
https://www.erudio.com.br/blog/http-status-codes-em-servicos-rest/ ↩ ↩2
https://fastapi.tiangolo.com/pt/tutorial/response-status-code/ ↩ ↩2
https://fastapi.tiangolo.com/tutorial/response-status-code/ ↩ ↩2
https://ninelabs.blog/padrao-de-codigos-de-status-http-em-apis-rest/ ↩ ↩2
https://learn.microsoft.com/pt-br/partner-center/developer/referrals-api-response-codes ↩ ↩2
https://www.luiztools.com.br/post/http-status-cheat-sheet/ ↩ ↩2