我学习了如何使用falcon在python中实现REST。例如,我有以下dict:
db_data = {
"servers" : {
"1": {
# 'server_id':1,
"plugins":{
"1": {
"metrics_by_time":{
"2014":{"1":"Hello World 0"}
"2015":{"1":"Hello World 1"}
"2016":{"1":"Hello World 2"}
}
}
}
}
}
}
我想要创建一个API,它将在一段时间内返回度量标准(例如,在2014年至2016年之间)。我怎么能做到呢?例如,我现在有了以下代码,它通过server_id和plugin_id返回度量标准:
class By_Plugin_ID(object):
def on_get(self, req, resp, server_id, plugin_id):
resp.status = falcon.HTTP_200
resp.body = (json.dumps(db_data["servers"][str(server_id)]["plugins"][str(plugin_id)], ensure_ascii=False, default=lambda x:str(x)))
import falcon
app = application = falcon.API()
plugins_metrics = By_Plugin_ID()
app.add_route('/metrics/{server_id}/{plugin_id}', plugins_metrics)
我想过这样的事情,但是如何处理"?“之后的查询:
metrics/{server_id}/{plugin_id}?from_time={timestamp}&to_time={timestamp}
发布于 2016-11-24 15:11:20
我对Falcon不太熟悉,我通常使用req.get_param(),但是看看他们的文档,你应该用()来获得他们的文档。
from_time = req.get_param('from_time')
to_time = req.get_param('to_time')
你应该把它放在你的on_get()
函数中
def on_get(self, req, resp, server_id, plugin_id):
from_time = req.get_param('from_time')
to_time = req.get_param('to_time')
# do whatever you want and return your response
发布于 2016-11-24 14:59:48
在?
之后是查询参数。让我们用Request.params
访问它们。
https://stackoverflow.com/questions/40789124
复制相似问题