41 lines
1016 B
Python
41 lines
1016 B
Python
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) |