• 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/  这个链接

    自定义的结果也是可以正常返回的 

  • 相关阅读:
    用户场景描述
    构建之法阅读笔记03
    冲刺记录(4.26)
    力扣-dp基础问题思维构建
    力扣-二叉树专题
    力扣-巧妙哈希
    力扣-双指针问题
    力扣-区间问题
    力扣-单调栈与单调队列问题
    力扣-股票买卖专题
  • 原文地址:https://www.cnblogs.com/menkeyi/p/5899567.html
Copyright © 2020-2023  润新知