Строительство API с Django Read Framework – одна из лучших технологий для работы, у вас есть так много способов построить API. Но проблема возникает, когда ваши API не задокументируются должным образом. Но у нас есть чванство.
ПОКАЗАТЕЛЬ
- Введение
- Установление окружающей среды
- Настройка Django.
- Создание моделей и сериализаторов
- Здание API
- Строительная документация
- Тестирование наших API
Введение
SWARGER – одна из широко используемых API-документации и инструмента для тестирования. В этой серии мы собираемся использовать «DRF-YASG2» как обертку для нашего проекта Django/DRF.
Ниже приведен снимок документации API.
Установление окружающей среды
Начните с создания свежего проекта Django. Для встряхивания обучения мы собираемся создавать API для приложения TODO, в котором пользователи могут создавать, читать, обновлять и удалять (CRUD) TODOS.
Создать виртуальную среду Python
$ python3 -m venv env
Активируйте виртуальную среду
$ source ./env/bin/activate
Теперь установите модули
$ pip install django djangorestframework drf-yasg2
Создайте проект Django “MyApp” в настоящем рабочем каталоге
$ django-admin startproject myapp .
Создать приложение Django “Todos”
$ django-admin startapp todos
Зарегистрируйте «TODOS» и «DRF_YASG2» в настройках Django .py (MyApp/settings.py)
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'drf_yasg2', 'todos', ]
Кроме того, добавьте следующий блок кода в одном файле (settings.py)
REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly', ) } SWAGGER_SETTINGS = { 'SECURITY_DEFINITIONS': { 'Bearer': { 'type': 'apiKey', 'name': 'Authorization', 'in': 'header' } } }
Отредактируйте файл URLS.PY проекта (MyApp/Urls.cy)
from django.contrib import admin from django.urls import path, re_path from drf_yasg2.views import get_schema_view from drf_yasg2 import openapi schema_view = get_schema_view( openapi.Info( title="MyApp Docs.", default_version='v1', ), public=True, ) urlpatterns = [ path('admin/', admin.site.urls), re_path(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), ]
Беги джанго миграции
$ python manage.py migrate Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying auth.0012_alter_user_first_name_max_length... OK Applying sessions.0001_initial... OK
Запустите сервер развития Django
$ python manage.py runserver
Посетить http://127.0.0.1:8000/swagger/ Вы должны увидеть пустой документацию API/тестирование веб-страницы
Поздравляю! 🎉 🎉 🎉 Вы успешно сгенерировали страницу документации/тестирования API
Что дальше?
В Следующее руководство , Мы создадим модели, сериализаторы и представления для нашего приложения Todo.
Спасибо …| С ❤️. Команда Tech Tech
Оригинал: “https://dev.to/rajeshj3/document-and-test-django-apis-with-swagger-part-1-2le7”