大家好,小弟最近剛接觸flask,想由此寫API抓出mongodb的資料,但卻一直跑不出來,想請問code是不是有寫錯的地方,已確定client & 資料庫沒錯,想藉由資料庫的id欄位(key)呼資料,只是呼不出來
from flask import Flask, jsonify, request #request網路參數用
from pymongo import MongoClient
client = MongoClient()
# 帳號:密碼@ip:porter(服務在哪個端口)
wine = client['']['']#[] # 資料庫 + 資料表
app = Flask(__name__) #命名
'define function,這支API要做的事情'
# http://my.domain.com/denny
@app.route('/denny', methods=['GET']) #取得網址,/ = url,get取得網頁方式
def test():
text_id = request.args.get('text_id')
#網址參數,'網站上打的東西'
data = wine.find_one({'id':text_id},{'_id':0})
#'key(欄位)': value(值)
#Fund_id:欄位名稱>串網址參數,0 >> 不要_id欄位
#上述做法會有空值,故要有個測試
if data is None:
msg = {
'Result': None,
'Status': {
'Code' : 404,
'Msg' : 'Data Not Found'
}
}
return jsonify(msg), 404
else:
msg = {
'Result': data,
'Status': {
'Code': 200,
'Msg': 'Operation Successful'
}
}
return jsonify(msg), 200 #確保傳回前端為json格式,200代表成功
#%%
'執行 http://127.0.0.1:5000/denny?text_id=235395820'
app.run()