-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
67 lines (53 loc) · 1.79 KB
/
Copy pathmain.py
File metadata and controls
67 lines (53 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from fastapi import Depends, FastAPI, Request
from pydantic import BaseModel
from conn.db_class import *
from conn.db_conn import engineconn
from sqlalchemy import select
from typing import List
from routers import rec_hobby, rec_hobby_contents
from routers import rec_lecture_contents, rec_group_contents
from routers import rec_lecture_coldstart, rec_group_coldstart
app = FastAPI()
app.include_router(rec_hobby.router)
app.include_router(rec_hobby_contents.router)
app.include_router(rec_lecture_contents.router)
app.include_router(rec_group_contents.router)
app.include_router(rec_lecture_coldstart.router)
app.include_router(rec_group_coldstart.router)
# app.include_router(insert.router)
# app.include_router(chat.router)
# app.include_router(DB_connect_test.router)
engine = engineconn()
session = engine.sessionmaker()
print("======================================")
print("= SERVER ON PORT 8080 =")
print("======================================")
class Item(BaseModel):
name : str
number : int
json_data : List[int]
@app.get("/")
def hello_world():
return "hello world!!"
# @app.get("/get")
# async def first_get():
# example = session.execute(
# select(Hobby)
# ).scalars().all()
# print(example[0])
# print(example[0].name)
# return example
# @app.post("/post")
# async def first_post(item:Item):
# addMemo = Test(name=item.name, number=item.number, json_data=item.json_data)
# session.add(addMemo)
# session.commit()
# print("addMemo")
# return item
# fastapi middleware, request state 에 db connection 심기
@app.middleware("http")
async def state_insert(request: Request, call_next):
request.state.db_session = session
request.state.db_conn = engine.connection()
response = await call_next(request)
return response