flask-restful之快速接口开发,增删改查

1 篇文章 0 订阅
1 篇文章 0 订阅

django的接口大致讲完之后,我们来看看flask是如何写接口的

flask无愧于小而美的称呼,快速与方便,在使用的时候可以很清楚的感受到
先看一下我的项目结构在这里插入图片描述
我使用蓝图进行项目结构的调整,这方面来说,每个人都有自己习惯的项目结构,每个人写的都有不同,所以说怎么使用蓝图构建自己的项目结构,大家可以自己去决定,
这也是flask的高扩展性的表现之一。

我简单说一下我的项目结构,我注册了两个蓝图mall与acounts
并将models与forms以及配置文件conf等分离出来
app.py为我的主项目

这方面就先说到这里了

然后pip安装

pip install flask-restful

安装好后,我们在app.py下进行api对象的实例化
并且注册api路由

api = Api(app)
api.add_resource(MallApi,'/api')
api.add_resource(MallApi2,'/api/<string:id>')

其中MallApi是我写的接口类的名称
这个类我写在了我的mall蓝图的views中:

from flask_restful import Resource,reqparse


parser = reqparse.RequestParser()
parser.add_argument('username',type=str)
parser.add_argument('nickname',type=str)
parser.add_argument('password',type=str)
parser.add_argument('email',type=str)
parser.add_argument('phone',type=str)


class MallApi(Resource):
    def get(self):
        data = []
        user_list = User.query.all()
        for user in user_list:
            dict1 = {}
            dict1['user_id'] = user.id
            dict1['username'] = user.username
            dict1['password'] = user.password
            data.append(dict1)
        return data

    def post(self):
        args = parser.parse_args()
        print(args)
        user = User()
        user.username = args.get('username')
        user.nickname = args.get('nickname')
        user.password = args.get('password')
        user.email = args.get('email')
        user.phone = args.get('phone')
        db.session.add(user)
        db.session.commit()
        return {'data':'新增成功'}

class MallApi2(Resource):
    def put(self,id):
        user = User.query.get(id)
        user.username = 'huhuhu'
        db.session.add(user)
        db.session.commit()
        return user.username

    def delete(self,id):
        user = User.query.get(id)
        db.session.delete(user)
        db.session.commit()

    def get(self,id):
        user = User.query.get(id)
        return {'user_id':user.id,'username':user.username,'password':user.password}

reqparse我是用来做简单的post表单验证的,使用了之后,一定要注意parser.add_argument(‘username’,type=str),需要指定接受字段名称与类型

这样子,查全部,查单个,新增,修改,删除,也就全部实现了
来看看实践效果

新增
在这里插入图片描述

查全部
在这里插入图片描述

修改
在这里插入图片描述

查单个
在这里插入图片描述

删除
在这里插入图片描述

好了,完全木有问题,flask_restful的api基本的增删改查到这里就差不多讲完了
下次继续

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值