post 请求 argument type mismatch_Flask-RESTful 请求解析

133deca0f30d053369150c282d0c95ca.png

一、基本参数

from flask.ext.restful import reqparseparser = reqparse.RequestParser()parser.add_argument('rate', type=int, help='Rate cannot be converted')parser.add_argument('name', type=str)args = parser.parse_args()

二、必需的参数

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

三、多个值&列表

parser.add_argument('name', type=str, action='append')

1. 请求:

curl http://api.example.com -d "Name=bob" -d "Name=sue" -d "Name=joe"

2. 接收:

args = parser.parse_args()args['name'] # ['bob', 'sue', 'joe']

四、Destinations

parser.add_argument('name', type=str, dest='public_name')args = parser.parse_args()args['public_name']

五、参数位置

# Look only in the POST bodyparser.add_argument('name', type=int, location='form')# Look only in the querystringparser.add_argument('PageSize', type=int, location='args')# From the request headersparser.add_argument('User-Agent', type=str, location='headers')# From http cookiesparser.add_argument('session_id', type=str, location='cookies')# From file uploadsparser.add_argument('picture',type=werkzeug.datastructures.FileStorage, location='files')

六、多个位置

  • 例如:location=['headers', 'values'],解析后'values'的结果会在'headers'前面
parser.add_argument('text', location=['headers', 'values'])

七、继承解析

from flask.ext.restful import RequestParserparser = RequestParser()parser.add_argument('foo', type=int)parser_copy = parser.copy()parser_copy.add_argument('bar', type=int)# parser_copy has both 'foo' and 'bar'parser_copy.replace_argument('foo', type=str, required=True, location='json')# 'foo' is now a required str located in json, not an int as defined# by original parserparser_copy.remove_argument('foo')# parser_copy no longer has 'foo' argument

摘录自Flask-RESTful文档<>篇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值