按照自己的方法來寫接口
''' @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/ 這個鏈接

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

