sil*_*ila 6 django-rest-framework
我正在使用 Django Rest 框架和 apiviews。我想在 apiview 类中使用多个 get 方法,并与 urls 文件中的方法名称分开。
为此,您可以使用视图集而不是 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'})
Run Code Online (Sandbox Code Playgroud)
为了使用它,您的 URL 将类似于http://base_url/ < pk >/some_get_method
或者您可以重写 APIView 内部的调度方法来执行此操作,
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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4468 次 |
最近记录: |