Hoa*_*ang 2 django django-rest-framework
我正在使用 Django Rest 框架实现 API。我想知道 Python 可以像 Ruby 一样将 POST 参数作为数组发送吗?
例如:
POST /api/end_point/
params = { 'user_id': [1,2,3] }
# In controller, we get an array of user_id:
user_ids = params[:user_id] # [1,2,3]
Run Code Online (Sandbox Code Playgroud)
小智 5
有多种方法可以解决此问题django-rest-framework,具体取决于您实际尝试执行的操作。
如果您打算通过POST数据传递这些数据,那么您应该使用Serializer. 使用序列化程序和django-rest-frameworks,Serializer您可以POST通过json或通过form.
Serializer文档:http
Serializer Field : //www.django-rest-framework.org/api-guide/serializers/文档:http : //www.django-rest-framework.org/api-guide/fields/
具体来说,您将要查看ListField.
它没有经过测试,但你会想要一些类似的东西:
from rest_framework import serializers
from rest_framework.decorators import api_view
class ItemSerializer(serializers.Serializer):
"""Your Custom Serializer"""
# Gets a list of Integers
user_ids = serializers.ListField(child=serializers.IntegerField())
@api_view(['POST'])
def item_list(request):
item_serializer = ItemSerializer(data=request.data)
item_serializer.is_valid(raise_exception=True)
user_ids = item_serializer.data['user_ids']
# etc ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4960 次 |
| 最近记录: |