Rumah >pembangunan bahagian belakang >Tutorial Python >Pengaturcaraan pelayan Python: dokumentasi API menggunakan django-rest-swagger

Pengaturcaraan pelayan Python: dokumentasi API menggunakan django-rest-swagger

PHPz
PHPzasal
2023-06-18 22:55:391021semak imbas

Dengan pembangunan Internet, aplikasi Web dan API menjadi semakin biasa. Python ialah bahasa pengaturcaraan popular yang boleh digunakan untuk membina aplikasi web dan API. Dalam Python, Django ialah rangka kerja web berkuasa yang menyediakan banyak ciri berguna, termasuk model, paparan dan templat yang memudahkan pembangunan web. Sebaliknya, dokumentasi API ialah tugas penting yang membantu pembangun memahami fungsi dan penggunaan API. Dalam artikel ini, kami akan memperkenalkan cara menggunakan django-rest-swagger untuk mendokumentasikan API.

  1. Pasang django-rest-swagger

Mula-mula, anda perlu memasang django-rest-swagger. Anda boleh menggunakan pip untuk memasang:

pip install django-rest-swagger
  1. Integrate django-rest-swagger

Tambah kandungan berikut pada fail settings.py Django:

INSTALLED_APPS = [
    # ...
    'rest_framework',
    'rest_framework_swagger',
]

MIDDLEWARE = [
    # ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
]

SWAGGER_SETTINGS = {
    'USE_SESSION_AUTH': False, #关闭session认证
    'APIS_SORTER': 'alpha',
    'JSON_EDITOR': True
}

Kemudian, tambahkan kandungan berikut pada fail urls.py Django:

from rest_framework_swagger.views import get_swagger_view

schema_view = get_swagger_view(title='API Document')
urlpatterns = [
    # ...
    url(r'^docs/', schema_view),
]

Selepas melengkapkan konfigurasi di atas, lawati http://localhost:8000/docs/ untuk melihat halaman dokumentasi API.

  1. Konfigurasikan kesombongan

Ubah suai fail settings.py Django dan tambah kandungan berikut:

REST_FRAMEWORK = {
    'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
}

Ini akan menjadikan API mengembalikan data dokumen dalam format coreapi , Ini membolehkan pemaparan dalam UI Swagger.

  1. Jana dokumentasi API

Kini anda boleh mula menulis paparan API. Tambahkan beberapa metadata yang diperlukan pada paparan, yang akan digunakan untuk menjana dokumentasi API. Contohnya:

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import authentication, permissions

class HelloWorld(APIView):
    """
    简要描述API的功能
    """
    authentication_classes = [authentication.TokenAuthentication]
    permission_classes = [permissions.IsAuthenticated]

    def get(self, request, format=None):
        """
        获取数据

        所需参数:
        * param1 - 参数1说明
        * param2 - 参数2说明

        返回数据:
        * status - response的状态
        """
        content = {'message': 'Hello, World!'}
        return Response(content)

Dalam paparan ini, beberapa metadata ditambahkan, seperti perihalan ringkas, perihalan parameter dan perihalan pemulangan. Metadata ini akan digunakan oleh django-rest-swagger untuk menjana dokumentasi API.

  1. Lihat dokumentasi API

Sekarang, anda boleh melawati http://localhost:8000/docs/ untuk melihat dokumentasi API. Dalam halaman dokumentasi, anda akan melihat senarai semua paparan API, masing-masing dengan kaedah, parameter dan arahan pemulangannya sendiri. Anda juga boleh menguji API pada halaman untuk menyemak sama ada ia berfungsi dengan betul.

Ringkasan

Menggunakan django-rest-swagger boleh mendokumenkan API dengan mudah supaya pembangun dapat memahami penggunaan dan fungsi API. Dalam artikel ini, kami memperkenalkan cara mengintegrasikan django-rest-swagger dalam Django dan menjana dokumentasi API. Saya harap artikel ini dapat membantu pembaca lebih memahami pengaturcaraan pelayan Python dan teknologi dokumentasi API.

Atas ialah kandungan terperinci Pengaturcaraan pelayan Python: dokumentasi API menggunakan django-rest-swagger. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn