if __name__ == '__main__':
app.run()
```
В этом примере мы определяем динамический маршрут `/products//`, который обрабатывает GET-запросы и возвращает информацию о товаре с заданной категорией ID.
Обработка запросов
Обработка запросов – это процесс выполнения действий, необходимых для ответа на запрос. В REST-api обработка обычно осуществляется с помощью контроллеров, которые вызывают необходимые методы действий.
Пример обработки запроса
Допустим, у нас есть REST-api, который предоставляет информацию о пользователях. Мы можем определить контроллер, будет обрабатывать запросы к этому ресурсу:
```python
from flask import Flask, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
email = db.Column(db.String(100), nullable=False)
Контроллер для обработки запросов к ресурсу пользователей
class UserController:
def get_user(self, user_id):
user = User.query.get(user_id)
return jsonify({'name': user.name, 'email': user.email})
def create_user(self, name, email):
user = User(name=name, email=email)
db.session.add(user)
db.session.commit()
return jsonify({'message': 'Пользователь создан'})
if __name__ == '__main__':
app.run()
```
В этом примере мы определяем контроллер `UserController`, который имеет методы для обработки GET-запросов и создания новых пользователей.
Вывод
В этой главе мы рассмотрели основы маршрутизации и обработки запросов в REST-api. Мы увидели, как можно определить статические динамические маршруты, а также обрабатывать запросы с помощью контроллеров. следующей поговорим о том, использовать микросервисы для создания масштабируемых систем.
Глава 3. Микросервисы: архитектура и принципы
3.1. Что такое микросервисы?
В предыдущих главах мы обсуждали важность масштабируемости и гибкости в современных системах. Теперь переходим к одному из наиболее интересных перспективных подходов созданию таких систем – микросервисам.
Микросервисы – это архитектурный стиль, который предполагает разбиение большой системы на множество небольших, независимых сервисов, каждый из которых отвечает за конкретную функциональность. Каждый сервис работает самостоятельно, имеет свою собственную базу данных и может быть развернут масштабирован независимо от других сервисов.