見出し画像

【FastAPI + Vue.js】CORS originエラーaxiosのめっちゃしょぼいとこでハマった話

ありがちなCORSオリジンエラーだけど、axios(Vue.js)側でarrow-origin設定したり、FastAPI側で、originを設定したり、はたまた、axiosにarrow-methodを追加したり色々わからないながら試行錯誤した結果、、、

originの末尾に'/'があったのがいけなかったという話。。。

originエラーは散々ハマったので、もちろんoriginのurlも見直したつもりだったけど、consoleで指摘されたurlコピペしたら、なんかズレてるって!?、ようやく気づいた(そういうとこやで・・・)

具体的に例示すると・・・

# (Fast)API側
app = FastAPI()

# 多分複数のURL(エンドポイント)を指定しておくと思うが・・・
origins = [
   'http://hogehoge:8080/'# NG 
   'http://hogehoge:8080'# OK
   'http://hogehoge:8080/login'# OK
]

app.add_middleware(
   CORSMiddleware,
   allow_origins = origins,
   allow_credentials=True,
   allow_methods=["*"],
   allow_headers=["*"],
)


コピペは正義、エラーメッセージには本当に忠実になろう

ということで、忘れたころにハマるのが、この文字列の入力ミスだが、本当にこれは、いろんなパターンで仕掛けてくる。

当然毎回、気をつけるようになるのだが、つい慣れてくるとまたやってしまう。。。

まあ、今回はエラーメッセージ見ても、「いや合っとるやんけ、エラーの拾い方がよくないんか?」という感じで、一周(半くらい)回って、ようやく発覚するパターンでしたが、前なら一周回ることすらなかったので、凡ミスが「凡」ミスと言えるということは成長の証、ということにしておこう。

いいなと思ったら応援しよう!