간단하게 하려고 진짜 main.py 이름 바꿔버리고 main.py를 새로 만들었음
from fastapi.middleware import Middleware
from starlette.middleware.cors import CORSMiddleware
from fastapi import FastAPI
from pydantic import BaseModel
middleware = [
Middleware(CORSMiddleware,
allow_origins=['*'],
allow_credentials=True,
allow_methods=['*'],
allow_headers=['*'])
]
app = FastAPI(middleware=middleware)
class User(BaseModel):
user_id: str
password: str
@app.get('/ping')
def pong():
return 'pong'
@app.post('/login')
def test(data: User):
return data
이러고 /login으로 리퀘스트하니까 OPTIONS 보내는 것도 안뜨고 한방에 통과되어버리네. 나는 POST로 JSON 보내는거면 OPTIONS 보낸 뒤에 보내는 걸로 알고 있는데 왜 그런지도 모르겠고;
근데 왜 서버 내부에서 처리가 안되는데 CORS가 떠서 사람 헷갈리게 만드는거임? 어제부터 CORS부터 해결하려고 계속 CORS만 붙들고 있었는데 ㅠㅠ
그나저나 내부서버 오류뜨는거 디버깅 어떻게 해야되지? 어느 라인에서 에러 뜨는건지 감도 안잡히네... nginx 에러로그에는 안뜨는 것 같던데, gunicorn 에러로그가 따로 또 있나?
해당 댓글은 삭제되었습니다.
되는데? 근데 지금 클라이언트쪽에서 OPTIONS 보내고 확인하고 다시 POST 보내는게 아니라 바로 POST 보내서 지금 약간 혼란스럽다. 이게 왜 이렇게 되지?
아 이제 preflight 뜬다. 아까 첨엔 왜 안떴지?
또 preflight 안뜬다... 뭐지
해당 댓글은 삭제되었습니다.
지금 클라이언트는 그냥 유동ip 집컴퓨터 localhost라 나중에 그렇게 바꿔야됨.. 지금은 못함 ㅠㅠ
문제 해결된거야 ... 문제는 아까 아래에 적어서 거기 조언 듣고 해결한거임.