如果使用的是 Django REST framework 3.12 及以上版本,可以使用 @api_view 装饰器和 @swagger_auto_schema 装饰器来添加 API 到 API root 页面。

具体步骤如下:

  1. urls.py 中定义一个 API view,使用 @api_view 装饰器和 @swagger_auto_schema 装饰器:
from rest_framework.decorators import api_view, swagger_auto_schema
from rest_framework.response import Response

@api_view(['GET'])
@swagger_auto_schema(operation_summary='API summary', operation_description='API description')
def my_api(request):
    '''
    API docstring
    '''
    data = {
        'message': 'Hello, world!'
    }
    return Response(data)
  1. urls.py 中定义一个 API root view:
from rest_framework.decorators import api_view
from rest_framework.response import Response

@api_view(['GET'])
def api_root(request, format=None):
    '''
    API root docstring
    '''
    data = {
        'my_api': request.build_absolute_uri(reverse('my_api')),
    }
    return Response(data)
  1. urls.py 中注册 API root view 和 API view:
from django.urls import path, reverse
from .views import api_root, my_api

urlpatterns = [
    path('', api_root, name='api_root'),
    path('my_api/', my_api, name='my_api'),
]
  1. 运行 Django 项目,访问 API root 页面即可看到添加的 API:
http://localhost:8000/

原文地址: https://www.cveoy.top/t/topic/loXV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录