首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何处理REST [ python]中的查询

如何处理REST [ python]中的查询
EN

Stack Overflow用户
提问于 2016-11-24 14:39:18
回答 2查看 849关注 0票数 1

我学习了如何使用falcon在python中实现REST。例如,我有以下dict:

代码语言:javascript
运行
复制
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返回度量标准:

代码语言:javascript
运行
复制
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)

我想过这样的事情,但是如何处理"?“之后的查询:

代码语言:javascript
运行
复制
metrics/{server_id}/{plugin_id}?from_time={timestamp}&to_time={timestamp}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-24 15:11:20

我对Falcon不太熟悉,我通常使用req.get_param(),但是看看他们的文档,你应该用()来获得他们的文档。

代码语言:javascript
运行
复制
from_time = req.get_param('from_time')
to_time = req.get_param('to_time')

你应该把它放在你的on_get()函数中

代码语言:javascript
运行
复制
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
票数 1
EN

Stack Overflow用户

发布于 2016-11-24 14:59:48

?之后是查询参数。让我们用Request.params访问它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40789124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档