2015-10-06 79 views
0

我正在使用Django Rest框架實現API。我不知道Python可以像Ruby一樣發送POST參數嗎?在Django Rest框架中以數組形式發佈數據

例如:

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] 

回答

0

有許多的方式來處理這django-rest-framework,這取決於你實際上是試圖做。

如果您打算通過POST數據傳遞此數據,那麼您應該使用Serializer。使用串行器和django-rest-framework s Serializer您可以通過json或通過form提供POST數據。

Serializer文檔:http://www.django-rest-framework.org/api-guide/serializers/ Serializer Field文檔: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 ...