我有一个rest服务器,它调用一些其他的Apis,我正在访问从服务器获得的数据,在一个react前端,但是对于某些应用程序,我需要从后台获取实时数据,有什么方法可以一起这样做吗,下面是我的代码
from flask import Flask,request
from flask_cors import CORS
from tuya_connector import TuyaOpenAPI, TUYA_LOGGER
app = Flask(__name__)
CORS(app)
@app.get("/api/device/<string:deviceid>")
def getdata(deviceid):
ACCESS_ID = ""
ACCESS_KEY = ""
API_ENDPOINT = ""
# Enable debug log
# Init OpenAPI and connect
openapi = TuyaOpenAPI(API_ENDPOINT, ACCESS_ID, ACCESS_KEY)
openapi.connect()
# Set up device_id
DEVICE_ID = deviceid
# Call APIs from Tuya
# Get the device information
response = openapi.get("/v1.0/devices/{}".format(DEVICE_ID))
return response我希望有传统的请求响应服务和实时数据获取。
发布于 2022-11-16 12:57:33
Websockets端点正是您所要寻找的。如果这还不算太晚,我建议切换到FastAPI,它“本地”地支持WebSockets (开箱即用)- https://fastapi.tiangolo.com/advanced/websockets。
如果您需要继续使用WebSockets,有几个包允许您添加https://flask-sock.readthedocs.io/en/latest/端点
对于FastAPI,这很简单:
@app.get("/")
async def get():
return {"msg": "This is a regular HTTP endpoint"}
@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
while True:
data = await websocket.receive_text()
await websocket.send_text(f"Message text was: {data}")https://stackoverflow.com/questions/74450622
复制相似问题