初学python,准备学习做个restful api server,现在有些困惑
大家讲道理
大家讲道理 2016-11-12 11:29:35
0
2
1450

在网上看到个教程

from flask import Flask, jsonify app = Flask(__name__) tasks = [ { 'id': 1, 'title': u'Buy groceries', 'description': u'Milk, Cheese, Pizza, Fruit, Tylenol', 'done': False }, { 'id': 2, 'title': u'Learn Python', 'description': u'Need to find a good Python tutorial on the web', 'done': False } ] @app.route('/todo/api/v1.0/tasks', methods=['GET']) def get_tasks(): return jsonify({'tasks': tasks}) if __name__ == '__main__': app.run(debug=True)

这个例子很好,但是例子是以客户端的请求是json格式做例子,如果客户端的请求不是一个json,而是

http://www.xxxx.com/todo/api/v1/task?do=1&do=2&do=3

这样的url作为请求来完成某些特定的请求时候

作为新手的我不知所措了

问题:这个请求的完整url我要用urlparse分析,网上搜了一大堆,结合urlparse分析的都是给定一个url的,而我这个url是客户端请求的。所以我要怎么获取这个完整的url呢?


大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous (2)
代言

哈哈哈楼主巧了,我也是根据这个帖子学习的Flask,我说说的的看法吧

做个小实验

@app.route('/')def hello_world():
params = request.args.items() return params.__str__()

如上,
当请求地址参数为http://url/5000/?a=1&b=2&c=3时,页面返回:
[('a', u'1'), ('b', 2'), ('c', u'3')]


    代言

    首先我觉得题主是不是理解稍微有点问题。
    上面你贴的例子看起来像是你提供了一个get接口 接口名字叫
    /todo/api/v1.0/tasks
    然后客户端用get请求这个接口会得到一个json的返回。

    然后你的问题是客户端要请求这个url
    http://www.xxxx.com/todo/api/v1/task?do=1&do=2&do=3
    首先这个请求时基于第一个请求url 然后带上了参数的。 ?开头然后后面跟参数是get请求参数的开始
    所以你只需要使用

    from flask import request
    你可以使用
    request.args.get('do')就可以拿到参数,还有你的例子有问题,为什么连续给do参数给了三个值?
    也可以使用
    request.values.get('do')

    希望可以帮到你。 并且建议你去弄清楚get 和 post 请求。 再来看什么rest之类的协议。


      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!