Flask-RESTPlus-SwaggerUI — это расширение для Flask, которое позволяет создать интерфейс Swagger UI для документирования и тестирования API. Swagger UI предоставляет удобный способ взаимодействия с API, позволяет проверять запросы и просматривать ответы.
Чтобы начать работать с Flask-RESTPlus-SwaggerUI, вам потребуется установить его. Для этого выполните следующую команду:
«`python
pip install Flask-RESTPlus-SwaggerUI
«`
После установки вы можете начать использовать библиотеку в своем Flask-приложении. Создайте новый файл `app.py` и добавьте следующий код:
«`python
from flask import Flask
from flask_restplus import Api, Resource
app = Flask(__name__)
api = Api(app)
@api.route(‘/hello’)
class Hello(Resource):
def get(self):
return {‘message’: ‘Hello, World!’}
if __name__ == ‘__main__’:
app.run(debug=True)
«`
В этом примере мы создаем новое Flask-приложение и добавляем ресурс `/hello`, который возвращает простое сообщение. Заметьте, что мы используем декоратор `@api.route` из Flask-RESTPlus для указания маршрута и методов, которые он поддерживает.
Теперь мы можем добавить поддержку Swagger UI в наше приложение. Добавьте следующий код после определения ресурса:
«`python
from flask_restplus_swagger import Swagger
swagger = Swagger(app)
if __name__ == ‘__main__’:
app.run(debug=True)
«`
Этот код создает новый объект Swagger и связывает его с нашим приложением. Теперь, если вы запустите приложение и откроете страницу `http://localhost:5000/swagger-ui/`, вы увидите интерфейс Swagger UI, который позволяет вам тестировать и документировать ваше API.
Вы можете настроить Swagger UI, добавив параметры в вызов `Swagger()` или в метод `api.route()`. Например, вы можете добавить название вашего API:
«`python
swagger = Swagger(app, title=’My Awesome API’)
«`
Или вы можете добавить краткое описание для каждого метода:
«`python
@api.route(‘/hello’)
class Hello(Resource):
@swagger.doc(‘Метод для приветствия’)
def get(self):
return {‘message’: ‘Hello, World!’}
«`
Вы также можете использовать аннотации, чтобы указать типы данных и параметры запроса:
«`python
@api.expect(api.parser().add_argument(‘name’, type=str, help=’Имя пользователя’))
def post(self):
name = api.payload[‘name’]
return {‘message’: f’Hello, {name}!’}
«`
Flask-RESTPlus-SwaggerUI также поддерживает загрузку спецификации OpenAPI из файла. Вы можете создать файл `swagger.json` с описанием вашего API и добавить следующий код:
«`python
swagger = Swagger(app, template_file=’swagger.json’)
«`
Теперь Swagger UI будет использовать этот файл для отображения документации вашего API.
В этой статье мы рассмотрели, как работать с библиотекой Flask-RESTPlus-SwaggerUI для создания интерфейса Swagger UI в Flask. Мы узнали, как установить библиотеку, создать простое Flask-приложение с поддержкой Swagger UI и настроить документацию и тестирование API. Надеюсь, эта информация окажется полезной для вас при разработке API на Flask.