请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

按着老师的代码敲,结果postman一直是404,不知道哪里有问题。

修改之前路由有q跟page两个参数,这个时候使用注释掉的那一段代码是可以获取到数据的,去掉之后用没注释掉的代码却一直是返回404,请老师指点一下。

@web.route('/book/search')
def search():
    '''
    根据q获取关键字或者是isbn,视图函数要尽量简洁易读,所以要对逻辑进行封装,
    对于传入的参数需要进行验证
    '''
    # isbn_or_key = is_isbn_or_key(q)
    # if isbn_or_key == 'isbn':
    #     res = YuShuBook.search_by_isbn(q)
    # else:
    #     res = YuShuBook.search_by_keyword(q, page)
    # return jsonify(res)
    form = SearchForm(request.args)
    if form.validate():
        q = form.q.data.strip() # 去掉前后的空格
        page = form.page.data
        isbn_or_key = is_isbn_or_key(q)
        if isbn_or_key == 'isbn':
            res = YuShuBook.search_by_isbn(q)
        else:
            res = YuShuBook.search_by_keyword(q, page)
        return jsonify(res)
    return jsonify(form.errors)

正在回答 回答被采纳积分+3

1回答

7七月 2019-03-18 23:16:14

你看哈,这个问题其实分析很简单。你这里调用了一个请求鱼书API的方法,你只需要在最终发请求的时候看看 这API的URL对不对 不就行了吗。肯定是后面的这段代码 URL不对才404的。

0 回复 有任何疑惑可以回复我~
  • 提问者 danzzzz #1
    http://localhost:5000/book/search?q=9787501524044
    老师,这是我请求用的url,,这个跟我用的路由应该是一样的啊,它还是会返回404
    回复 有任何疑惑可以回复我~ 2019-03-19 07:38:53
  • 7七月 回复 提问者 danzzzz #2
    你再对比下你不是404的url就知道问题了。
    回复 有任何疑惑可以回复我~ 2019-03-19 07:40:29
  • 提问者 danzzzz 回复 7七月 #3
    http://localhost:5000/book/search/9787501524044/1
    http://localhost:5000/book/search?q=9787501524044
    不好意思,老师,还是不行,我看了代码也不知道哪里有错,第一个url是没有404的,第二个有404
    回复 有任何疑惑可以回复我~ 2019-03-19 07:48:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信