gpt4 book ai didi

django-rest-framework - 我们可以在apiview类django rest框架中有多个get方法吗

转载 作者:行者123 更新时间:2023-12-04 03:11:48 30 4
gpt4 key购买 nike

我正在使用带有 apiviews 的 django rest 框架。我想在 apiview 类中使用多个 get 方法,并与 urls 文件中的方法名称分开。

最佳答案

为此,您可以使用 View 集而不是 apiview。

这是一个例子。

from rest_framework import viewsets
from rest_framework.decorators import detail_route
from rest_framework.response import Response

class MyViewSet(viewsets.GenericViewSet):

@detail_route(methods=['get'])
def some_get_method(self, request, pk=None):
return Response({'data': 'response_data'})

为了使用它,您的 URL 将类似于, http://base_url/ /some_get_method

或者你可以覆盖 APIView 内部的 dispatch 方法来这样做,
def MyAPIView(APIView):
def some_get_method(self, request):
return Response({'data': 'response_data'})

def dispatch(self, request, *args, **kwargs):
if request.method.lower() == "get" and request.GET.get('identifier'):
return self.some_get_method(request)
return super().dispatch(request, *args, **kwargs)

关于django-rest-framework - 我们可以在apiview类django rest框架中有多个get方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44601327/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com