ANÚNCIO

~/questoes/programacao

Qual é a resposta esperada de um endpoint GET básico no exemplo hello world?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência FastAPI 2025: Configuração do ambiente e hello world com testes
Para fixar

Respostas JSON em Endpoints GET no FastAPI

Conceito central

Endpoints REST são funções que respondem a requisições HTTP em um padrão padronizado. FastAPI, por padrão, retorna as respostas no formato JSON, que é estruturado, fácil de consumir e amplamente aceito em APIs modernas.

Por que essa resposta faz sentido

FastAPI converte automaticamente o retorno de uma função em um objeto JSON estruturado. Isso significa que quando você retorna um dicionário ou modelo Pydantic, o framework serializa para JSON e envia ao cliente com o cabeçalho correto (Content-Type: application/json).

Armadilhas comuns

  • Confundir retorno de dados com tipo de resposta: JavaScript ou outros clientes automaticamente fazem parse do JSON, mas você precisa entender que FastAPI estrutura isso para você.
  • Pensar que precisa usar json.dumps() ou converter manualmente: FastAPI faz isso internamente, você só retorna o dado Python (dicionário, modelo, etc) e o framework cuida do resto.
  • Misturar conceitos de templates HTML com respostas JSON: HTML é para renderizar páginas no navegador, JSON é para transmitir dados estruturados entre sistemas.

Entenda as alternativas

A

HTML renderizado é retornado quando você usa templates (Jinja2) ou quando retorna uma Response com tipo 'text/html'. Em um endpoint JSON básico do FastAPI, isso não acontece automaticamente.

B

Arquivos binários são um tipo especial de resposta que requer configuração específica com FileResponse ou StreamingResponse. Um endpoint hello world simples nunca retorna dados binários para download.

C

FastAPI retorna objetos JSON por padrão. Quando você cria um endpoint básico, o framework converte automaticamente dicionários Python ou modelos Pydantic em JSON válido, pronto para consumo por clientes HTTP.

D

FastAPI sempre estrutura respostas em JSON, nunca em texto simples sem formatação. A estrutura JSON é uma das principais vantagens do framework para criar APIs padronizadas.

Dica prática: Teste criando um endpoint simples: use @app.get('/') e retorne um dicionário como {'mensagem': 'Olá, mundo!'}. Acesse no navegador ou use ferramentas como Postman para ver o JSON sendo retornado com o cabeçalho Content-Type correto.

Revise pensando: Se você retornar {'status': 'ok'} em uma função de endpoint FastAPI, qual será o formato da resposta que o cliente receberá?