python - Flask_restful多个url传值(args参数)出现奇怪问题,不识别url
本文介绍了python - Flask_restful多个url传值(args参数)出现奇怪问题,不识别url的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
参数声明的部分:
def get(self, **kwargs):
reg_data = reqparse.RequestParser()
reg_data.add_argument('token', type=str, location='args')
reg_data.add_argument('offset', type=str, location='args')
args = reg_data.parse_args()
路由的部分:
# Activity API
api.add_resource(activity.Activities, '/v1/activity')
api.add_resource(activity.Activity, '/v1/activity/<int:activity_id>')
用Postman请求,参数无错误
错误:只有当offset是1的时候才正常,其他都有如下错误:
{
"message": "The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. You have requested this URI [/v1/activity] but did you mean /v1/activity or /v1/activity/<int:activity_id> or /v1/activity/<int:activity_id>/comment ?"
}
个人理解错误是没有找到路由,因为的确是返回404,可是明明有啊,出了什么问题呢
----新发现-----------------------------
之前一直没空看着错误,最近继续研究发现是paginate导致的。如果我在程序里添加print(args['offset'])都能被执行就是无缘无故返回404。如果不用paginate就没问题。
求解释。
解决方案
是paginate导致的
这篇关于python - Flask_restful多个url传值(args参数)出现奇怪问题,不识别url的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文