私は私が取り組んでいる小さなAPIを持っています、すべて正常に動作します。私の要求はすべて、私は何の理由でURLクエリを通して結果をフィルタリングしようとしますか?デバイスフィールド用ではありません。Python Falcon URLを介してフィルタリング
def on_get(self, req, resp):
"""Handles GET requests"""
if req.get_param("id"):
result = {'location': r.db(PROJECT_DB).table(PROJECT_TABLE).get(req.get_param("id")).run(db_connection)}
elif req.get_param("device"):
result = {'location': r.db(PROJECT_DB).table(PROJECT_TABLE).get(req.get_param("device")).run(db_connection)}
else:
location = r.db(PROJECT_DB).table(PROJECT_TABLE).run(db_connection)
result = {'locations': [i for i in location]}
resp.body = json.dumps(result)
例http://localhost:8000/location?id=(some random id)
、これは
に動作しますが、私はhttp://localhost:8000/location?device=(some device)
をすれば、これは動作しませんヌル
を返しますので、誰も私が間違って何をやっている私に言うことができますか?誰かがURLを使用してフィルタリングするより良い方法を知っていれば、より良いでしょうか?
注:私は使用していますrethinkdb
EDIT:これは私が通常持っているものである
:idがない奇妙なデバイスではなく、[OK]を作品
{
"locations": [
{
"id": "4bf4b94f-747a-42db-9d54-a8399d995025",
"location": "gps coords",
"device": "Device 2"
},
{
"id": "b5cce561-37d2-42e7-86e4-a31c008b0af2",
"location": "gps coords",
"device": "Device 1"
},
{
"id": "bebba7cf-710c-4ee8-ad69-2d58174d4e02",
"location": "gps coords",
"device": "Device 1"
},
{
"id": "e928f84b-60ff-40f3-b839-920bc99e5480",
"location": "gps coords",
"device": "Device1"
}
]
}
フィルタリングによって
明らかに、その 'device =(some device)'には何もありません。または、あなたのアプリにログインして、 'result'がnull以外のものであることを確認しましたか? –
リクエスト内のタイプとロケーションクエリから取得したデータを確認しましたか?おそらくそこに不一致があります –
はい私は持っており、ミスマッチを示すものは何もありません – Nick