不同风格的Flask-restful

参考文章http://www.pythondoc.com/Flask-RESTful/quickstart.html

              http://www.pythondoc.com/Flask-RESTful/reqparse.html

总结一下这个模块:

1.可以利用 add_resource 批量处理url,不用再在给每个函数之前加上@app.route

2.flask-restful最重要的功能就是对于post携带数据的请求的参数解析,大致可以理解为:

首先需要创建对象:

parser = reqparse.RequestParser()
parser.add_argument('task', type=str)

然后解析参数储存在args中

args = parser.parse_args()

参数位置

parser.add_argument('name', type=int, location='form')

# Look only in the querystring
parser.add_argument('PageSize', type=int, location='args')

# From the request headers
parser.add_argument('User-Agent', type=str, location='headers')

# From http cookies
parser.add_argument('session_id', type=str, location='cookies')

# From file uploads
parser.add_argument('picture', type=werkzeug.datastructures.FileStorage, location='files')

 

更换名称

如果你不想以参数名来获取这个参数值,那么可以:

parser.add_argument('name', type=str, dest='public_name')

args = parser.parse_args()
args['public_name']

必需的参数

要求一个值传递的参数,只需要添加 required=True 来调用 add_argument()

parser.add_argument('name', type=str, required=True,
help="Name cannot be blank!")

获取不到的参数

我们将"session_id"设置成cookie的话,我们的args是获取不到的:
 

parser.add_argument('session_id',type=str,location="cookies")
args=parser.parse_args()

发送请求:

curl http://localhost:5000/todos -d "task=soming new" -d "name=mason" -d "session_id=hello word" -X POST -v

打印args

多个值传递

parser.add_argument('session_id',type=str,location="cookies",action="append")

这时候对于session_id传递值的时候就需要:   -d "session_id=123" -d "session_id=456"这样了

这些是我觉得文章中比较重要的点,自己总结归纳了一下

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值