Ich lerne, wie man REST-APIs in Python mit falcon lib implementiert. Zum Beispiel habe ich folgendes dict:Wie behandelt man Abfragen in der REST-API [python]
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"}
}
}
}
}
}
}
Ich mag eine API erstellen, die durch einen bestimmten Zeitraum Metriken zurückkehren wird wieder (zum Beispiel zwischen 2014 und 2016). Wie könnte ich es tun? Zum Beispiel habe ich jetzt den folgenden Code ein, die Metriken von server_id und plugin_id zurückgibt: „?“
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)
Ich dachte an so etwas wie, aber wie die Abfragen nach zu handhaben :
metrics/{server_id}/{plugin_id}?from_time={timestamp}&to_time={timestamp}