我需要在session_set端点中创建一个用于身份验证的会话。但是,由于某种原因,会话仍在端点中创建session_info。如何使会话仅在中创建session_set?否则,我会在每个请求的响应中都有一个新会话。
这是我的代码:
import uvicorn
from fastapi import FastAPI, Request
from starlette.middleware.sessions import SessionMiddleware
app = FastAPI()
app.add_middleware(SessionMiddleware, secret_key="some-random-string", max_age=None)
@app.get("/a")
async def session_set(request: Request):
request.session["my_var"] = "1234"
return 'ok'
@app.get("/b")
async def session_info(request: Request):
my_var = request.session.get("my_var", None)
return my_var
if __name__ == '__main__':
uvicorn.run('http-session:app', port=5000, reload=True)
Run Code Online (Sandbox Code Playgroud)