【发布时间】:2021-06-10 22:19:51
【问题描述】:
我有一个支持读取和创建操作的 DjangoREST APIView。像这样的:
class FirebaseUser(APIView):
...
get(request):
...
post(request):
...
urls.py:
...
path('user/', views.FirebaseUser.as_view()),
...
我需要一个 API 来接受以用户 ID 作为 url 参数的读取请求
GET .../api/user/<userId>
但是对于创建操作,还没有用户 ID,我需要这样的东西
POST .../api/user/
根据方法不同,让我的 APIView 以不同方式处理 url 参数的最佳方法是什么?
【问题讨论】:
-
您可以轻松地在您的 urls.py 中多声明一个路径,以支持
GET /api/user/<userId>。然后在您的FirebaseUser.get()方法中,您可以使用self.params['userId']或self.query_params['userId']或self.request.GET.get('userId')访问该用户ID(至少其中一个可以工作)。
标签: django django-rest-framework