Endpoints de leitura única e leitura múltipla
Retorne um único item ou uma coleção.
Endpoints de leitura única e leitura múltipla é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Two Shapes of Read
A REST resource needs two read endpoints: one that returns a single item by id, and one that returns the whole collection. 📚
List Route for Many
The collection lives at a plain path like /users. A GET there should answer with every matching record.
@app.route("/users")
def list_users():
...Load Them All
Fetch the full set with query.all(), which gives you a Python list of model instances to serialize.
users = User.query.all()Serialize the Collection
jsonify cannot dump model objects directly, so map each row to a dict first, then return the list.
return jsonify([{"id": u.id, "name": u.name} for u in users])Detail Route for One
A single item lives at /users/<id>. The id in the path tells you exactly which row to load.
@app.route("/users/<int:user_id>")
def get_user(user_id):
...Fetch That One Row
Use get() with the path id to pull the matching record straight from the database.
user = User.query.get(user_id)Return the Single Item
Wrap the found row in a dict and jsonify it. Your client gets one clean JSON object back.
return jsonify({"id": user.id, "name": user.name})Handle the Missing Case
If get returns None, the id was wrong, so reply with a 404 instead of crashing on a None value.
if user is None:
return jsonify(error="not found"), 404Skip the Check with get_or_404
Flask-SQLAlchemy's get_or_404() fetches by id or aborts with 404 automatically, trimming the boilerplate from detail views.
user = User.query.get_or_404(user_id)Paginate Long Lists
Returning thousands of rows is slow. Use paginate() to slice the collection into pages your client can request one at a time.
page = User.query.paginate(page=1, per_page=20)List Returns an Array
Keep shapes predictable: the collection route returns a JSON array, while the detail route returns a single object.
Quick Check
A request hits /users/42 but no such row exists. What should the endpoint do?
Recap: Reading Records
You built a list route returning an array and a detail route returning one item, with 404 for missing rows. Reads done right! 🎉
Perguntas Frequentes
A aula “Endpoints de leitura única e leitura múltipla” é grátis?
Sim — o texto completo de “Endpoints de leitura única e leitura múltipla” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.
O que vou aprender em “Endpoints de leitura única e leitura múltipla”?
Retorne um único item ou uma coleção. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Flask Academy?
Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Endpoints de leitura única e leitura múltipla”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Flask Academy?
Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Crie registros e confirme sessões
- Endpoints de leitura única e leitura múltipla
- Atualize registros existentes com segurança
- Exclua e trate linhas ausentes