Конечные точки чтения одной и многих записей
Возвращайте один элемент или коллекцию.
«Конечные точки чтения одной и многих записей» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
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! 🎉
Часто задаваемые вопросы
Урок «Конечные точки чтения одной и многих записей» бесплатный?
Да — полный текст урока «Конечные точки чтения одной и многих записей» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.
Чему я научусь в уроке «Конечные точки чтения одной и многих записей»?
Возвращайте один элемент или коллекцию. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Flask Academy?
Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Конечные точки чтения одной и многих записей»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Flask Academy?
Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Создание записей и фиксация сеансов
- Конечные точки чтения одной и многих записей
- Безопасное обновление существующих записей
- Удаление и обработка отсутствующих строк