gpt4 book ai didi

python - 在 Flask 中,有没有办法对应用程序本身以外的所有人隐藏 @app.route。我的数据库可以从 JSON 格式的 url 中看到

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:47 26 4
gpt4 key购买 nike

所以我在 FLASK 服务器上工作,使用 sqlite3、json、axios 和 VUEJS。我的 VueJS 前端使用 axios 调用我的 sqlite3 数据库。在 flask 端,数据库通过 @app.route('/api/getdatabase', methods=['GET']) 使用 jsonify 发送。如果我在我的 flask 服务器运行时将该 url 插入浏览器,我可以从 http://localhost:5000/api/getdatabase 中看到 JSON 格式的整个数据库。 .

有没有一种方法可以停止从浏览器访问该 url 路由,同时保持与 axios 的“GET”连接处于事件状态?

我附加了 Flask @app.route,以防 VueJs 方法在该 Flask 路由上调用“GET”。

@app.route('/api/getdatabase', methods=['GET'])
def database_get():
if request.method == 'GET':
print("/getdatabase record")
conn = sql.connect('test.sqlite3')
cursor = conn.cursor()
cursor.execute("SELECT * FROM DATABASE ORDER By id")
rows = cursor.fetchall()
return jsonify(rows)
    getDatabase() {
const path = "http://192.168.1.71:5000/api/getdatabase";
axios
.get(path)
.then(response => {
// console.log(res.data)
this.database = response.data;
})
.catch(error => {
console.log("Failed to get database");
});
},

最佳答案

您可以使该端点需要身份验证

from flask import make_response

@app.route('/api/getdatabase', methods=['GET'])
def database_get():
if not request.headers.get('secret') == secret:
return app.response_class(
status=401,
mimetype='application/json',
response=json.dumps({'message': 'Invalid or missing secret'})
)

关于python - 在 Flask 中,有没有办法对应用程序本身以外的所有人隐藏 @app.route。我的数据库可以从 JSON 格式的 url 中看到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57173318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com