Создание RESTful API с помощью Flask с нуля и с минимальным количеством кода.

В этой статье мы отправимся в увлекательное путешествие по созданию RESTful API с помощью Flask – легкого и минималистичного веб-фреймворка Python. Используя простоту и элегантность Flask, мы погрузимся в основные концепции архитектуры REST и продемонстрируем, как создать мощный API с минимальным количеством кода.

Независимо от того, являетесь ли вы новичком, желающим постичь основы, или опытным разработчиком, ищущим освежающий лаконичный подход, это пошаговое руководство поможет вам в кратчайшие сроки овладеть искусством создания надежных API. Давайте начнем!

Шаг 1: Создание виртуальной среды.

Создание виртуальной среды является одним из основных этапов разработки Flask-приложений, поскольку позволяет изолировать зависимости проекта и обеспечить согласованность среды разработки.

Убедитесь, что у вас установлена “virtualenv”, если нет, выполните следующую команду.

pip install virtualenv

Для создания виртуальной среды выполните следующую команду.

virtualenv venv

Следующий шаг – активация виртуальной среды.

Для Windows

venv\Scripts\activate

Для Linux

source venv/bin/activate

Шаг 2: Установите Flask

Для установки Flask в виртуальной среде используйте следующую команду.

pip install flask

Шаг 3: Напишите код и выключите сервер, чтобы проверить, успешно ли прошла настройка.

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"

Чтобы запустить сервер, выполните следующую команду.

#where the debug flag enables auto restart of the server on performing
#changes. 

flask --debug run

Теперь перейдите на сайт http://127.0.0.1:5000/, и вы сможете увидеть аналогичный вид в своем браузере.

Создание RESTful API с помощью Flask с нуля и с минимальным количеством кода.

Шаг 4: Теперь создадим RESTful API.

В RESTful API ресурсы представлены в виде URL-адресов, а взаимодействие с ними осуществляется с помощью стандартных методов HTTP, таких как GET, POST, PUT и DELETE.

Для начала попробуем выполнить GET-запрос.

from flask import Flask, jsonify

app = Flask(__name__)


cars = ['Audi', 'BMW', 'Mercedes']
users = ['user1', 'user2', 'user3']

data = {
    "cars":cars,
    "users": users,
    "success": True
}

@app.route("/")
def index():
    return jsonify(data)

Теперь воспользуемся Postman для выполнения GET-запроса.

Создание RESTful API с помощью Flask с нуля и с минимальным количеством кода.

Чтобы сделать запрос в Postman, выберите GET из доступных типов запросов, введите URL, который обслуживается нашим приложением Flask, и нажмите кнопку Send.

Как видите, мы получили ответ в формате JSON, как и предполагалось. Следовательно, наш GET-запрос действительно был успешным.

Теперь попробуем сделать POST-запрос. Мы должны добавить автомобиль в уже существующий список автомобилей и вернуть в ответ все автомобили.

from flask import Flask, jsonify, request

app = Flask(__name__)


cars = ['Audi', 'BMW', 'Mercedes']
users = ['user1', 'user2', 'user3']

data = {
    "cars":cars,
    "users": users,
    "success": True
}

@app.route("/")
def index():
    return jsonify(data)

@app.route('/addCar', methods=["POST"])
def addCar():
    data = request.get_json()
    cars.append(data['car'])
    return jsonify(cars=cars)

Теперь посмотрим, что произойдет при попытке выполнить POST-запрос в Postman.

Создание RESTful API с помощью Flask с нуля и с минимальным количеством кода.

Итак, чтобы выполнить POST-запрос, необходимо указать его тело как raw и выбрать форматирование JSON. Внутри текстовой области укажите JSON-значение, в нашем случае “car”.

Теперь, когда мы успешно реализовали GET и POST, давайте перейдем к реализации запроса DELETE аналогичным образом.

@app.route('/deleteCar', methods=["DELETE"])
def deleteCar():
    cars.pop(0)
    return jsonify(cars=cars)

Снова вызовем Postman для выполнения запроса на удаление.

Создание RESTful API с помощью Flask с нуля и с минимальным количеством кода.

Как видно, 0-й элемент списка, автомобили, был успешно удален.

Запрос PUT может быть использован для обновления заданной сущности на сервере.

В этой статье мы рассмотрели базовую реализацию RESTful API на Flask, в следующих статьях мы обсудим интеграцию нашего приложения на Flask с базой данных и его БЕСПЛАТНОЕ размещение в облаке!

+1
0
+1
0
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *