初学python,准备学习做个restful api server,现在有些困惑
本文介绍了初学python,准备学习做个restful api server,现在有些困惑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在网上看到个教程
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呢?
解决方案
首先我觉得题主是不是理解稍微有点问题。
上面你贴的例子看起来像是你提供了一个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之类的协议。
这篇关于初学python,准备学习做个restful api server,现在有些困惑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文