init
This commit is contained in:
41
01_fastapi_first_step/server.py
Normal file
41
01_fastapi_first_step/server.py
Normal file
@@ -0,0 +1,41 @@
|
||||
from fastapi import FastAPI, Query
|
||||
from pydantic import BaseModel
|
||||
from datetime import datetime
|
||||
from typing import List
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
# 메시지 저장을 위한 리스트
|
||||
messages = []
|
||||
|
||||
class Message(BaseModel):
|
||||
name: str
|
||||
message: str
|
||||
|
||||
@app.post("/messages")
|
||||
def post_message(msg: Message):
|
||||
# 현재 시간을 YYYY-MM-DD HH:MM:SS 형식으로 저장
|
||||
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
new_message = {
|
||||
"name": msg.name,
|
||||
"message": msg.message,
|
||||
"timestamp": timestamp
|
||||
}
|
||||
messages.append(new_message)
|
||||
|
||||
return {
|
||||
"status": "success",
|
||||
"received": new_message,
|
||||
"timestamp": timestamp
|
||||
}
|
||||
|
||||
@app.get("/messages")
|
||||
def get_messages(start: int = 0):
|
||||
# start 인덱스부터 끝까지의 메시지를 반환
|
||||
return messages[start:]
|
||||
|
||||
if __name__ == "__main__":
|
||||
import uvicorn
|
||||
# 터미널에서 직접 실행할 때를 위해 uvicorn 설정 추가
|
||||
uvicorn.run(app, host="0.0.0.0", port=8000)
|
||||
Reference in New Issue
Block a user