Django Restframework 實踐(二)


按照自己的方法來寫接口

'''
@api_view([ 'POST','GET',]) 允許請求的是get或post方法,這里去掉get那么就不能用get方法請求
@permission_classes((permissions.AllowAny,)) 權限裝飾器,如果去掉就無法訪問
這里就是自己寫的方法,這里用了AssetSerializer rest的序列化方法和Response展示的方法
'''
@api_view([ 'POST','GET',])
@permission_classes((permissions.AllowAny,))
def AssetList(request):
    if request.method == 'GET':
        asset_list = models.Asset.objects.all()
        #rest 方法AssetSerializer(asset_list,many=True)
        serializer = AssetSerializer(asset_list,many=True)
        print serializer.data
        #django 中並沒有Response這個方法而是rest 封裝的
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = AssetSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

如果這樣定義就無法在api頁面中查詢到了,頁面中就沒有http://localhost/api/asset_list/  這個鏈接

 

 

 

自定義的結果也是可以正常返回的 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM