Встречается на 1% собеседований по Python

Как проектировать API с учетом REST

RESTful API проектируется вокруг ресурсов, а не действий. Основные принципы:

  1. Используйте существительные в URL вместо глаголов:

    • Плохо: /getUsers
    • Хорошо: /users
  2. Используйте HTTP методы правильно:

    • GET - получение ресурса
    • POST - создание
    • PUT/PATCH - обновление
    • DELETE - удаление
  3. Версионирование в URL или заголовках:

    • /api/v1/users
  1. Фильтрация, сортировка через query-параметры:
    • /users?active=true&sort=-created_at

Пример структуры:

python
# Flask пример
@app.route('/api/v1/users', methods=['GET', 'POST'])
def users():
    if request.method == 'GET':
        return jsonify(get_all_users())
    elif request.method == 'POST':
        return create_user(request.json)

@app.route('/api/v1/users/<int:user_id>', methods=['GET', 'PUT', 'DELETE'])
def user(user_id):
    if request.method == 'GET':
        return jsonify(get_user(user_id))
    elif request.method == 'PUT':
        return update_user(user_id, request.json)
    elif request.method == 'DELETE':
        return delete_user(user_id)

Важно: возвращайте правильные HTTP статусы (200, 201, 400, 404 и т.д.) и используйте JSON для данных.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы