前言

顺利出到4啦,其实学习过程中发现了不少错误,不过有些实在是没啥代表性.

最近买了两本小程序和安卓方面的书,其实从初中开始,想搞编程的目的就是写些安卓软件.

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

现在看来不太可能了.拿来当当兴趣爱好还是没问题的

这几天不是没更新,是在前面的章节里增加/勘误

变更记录

# 19.4.15  起笔

# 19.4.15  增加 Flask-RESTful 获取url传参

# 19.4.15  增加 Flask-RESTful 获取参数时默认值选项

# 19.4.16  增加 SQLAlchemy翻页查询

正文

Flask-RESTful 获取url传参

这里的url参数分为

api/1  # url中捕捉参数

api?aa=bb&cc=dd  # 正经的get传参(一key一v)

第一种在路径中加入变量在我之前的博客中有写

因其直接写在url中因此要在路由匹配部分捕捉

commodity_api.add_resource(CommodityClassify, '/commodityclassify/<int:classify_id>', endpoint='commodityclassify')

如上的路由会匹配所有 /commodiyclassify/数字 的url并将该数字传给 CommodityClassify 类,注意的是该类需要接受参数

class CommodityClassify(Resource):
    # 商品分类相关

    def get(self, classify_id=None):
        pass

第二种是在 url后传参,我们只需要在在接收时指定取值范围即可

跟上一篇中的获取 body/form 的数据差不多

parser = reqparse.RequestParser()  # 生成parser
parser.add_argument('name', type=str, help='name error', required=True, location='args')  # 获取form中的name字段,不传报错
parser.add_argument('pwd', type=str, help='pwd error', required=True, location='args')  # pwd
args = parser.parse_args(strict=True)  # 获取值,如传多余字段报错

RESTFul获取值时默认值

比如我们在需要带翻页的接口时,我们通常给 page page_size 设立默认值(比如page不传默认1)

那么在RESTFul中怎么设置呢?

看 DEMO

        parser = reqparse.RequestParser()  # 生成parser
        parser.add_argument('commodityclassify_id', type=int, help='commodityclassify_id error', required=True, location='args')  # 获取get传参的commodityclassify_id
        parser.add_argument('page', type=int, default=1, help='page error', location='args')  # 页数(默认1)
        args = parser.parse_args(strict=True)  # 获取值,如传多余字段报错

值得注意的是,如果你开启了 required(严格模式) 就不会走到默认值这一步,因为检测到你没有传送 指定值 就直接返回报错

SQLAlchemy翻页查询

当我们遇到量大的数据时,通常需要分页来保障json的大小

SQLAlchemy分页与sql类似

pass

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄