اولین خطای CORS من در FastAPI
من با ساختن یاد میگیرم. یک ردیاب هزینهها ساختم. از FastAPI برای بکاند استفاده کردم. از HTML و JavaScript برای فرانتاند استفاده کردم.
سرور اجرا شد. Swagger UI کار میکرد. صفحه HTML با خطا مواجه شد. دکمه Load Expenses هیچ کاری انجام نداد.
کد پایتونم را چک کردم. درخواست fetch را چک کردم. هیچچیز اشتباه به نظر نمیرسید.
کنسول مرورگر را باز کردم. یک خطای قرمز دیدم. CORS درخواست را مسدود کرده بود.
فرانتاند از پورت 3000 استفاده میکرد. بکاند از پورت 8000 استفاده میکرد. مرورگر مبدأها (origins) را متفاوت میدید. اتصال را مسدود کرد.
CORSMiddleware را به کد FastAPI خود اضافه کردم. مبدأ http://127.0.0.1:3000 را مجاز کردم. خطا ناپدید شد.
درسهایی برای شما:
- اول کنسول مرورگر خود را باز کنید.
- API خود را به صورت جداگانه تست کنید.
- خطاهای CORS در مرورگر رخ میدهند. آنها باگهای کد نیستند.
منبع: https://dev.to/bynilotpal/my-first-cors-error-in-fastapi-2hf6