zoukankan      html  css  js  c++  java
  • 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/  这个链接

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

  • 相关阅读:
    git把dev部分提交过的内容合并到master
    shell命令修改文件内容
    js时间格式化
    js判断对象是否为空
    JS数组遍历方法
    批量修改文件后缀
    curl实现put请求
    lumen伪静态路由设置示例
    nginx client_body_buffer_size
    nginx模块开发
  • 原文地址:https://www.cnblogs.com/menkeyi/p/5899567.html
Copyright © 2011-2022 走看看