Flask_restful多个url传值(args参数)出现奇怪问题,不识别url

发布于 2022-09-04 09:12:27 字数 1213 浏览 16 评论 0

参数声明的部分:

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请求,参数无错误

clipboard.png

错误:只有当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就没问题。

求解释。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

攒眉千度 2022-09-11 09:12:27

是paginate导致的

七七 2022-09-11 09:12:27

?token前不要加/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文