Simülatör'den Localhost'ta Çalışan Projeye Nasıl Bağlanılır?

24.07.2022 13:40
#REACT #NET-CORE #APİ #CORS #SİMULATOR

Simülatör'den Localhost'ta Çalışan Projeye Nasıl Bağlanılır?

Localhost üzerinde çalışan bir .Net Core API'ım ve yine localhost üzerinde çalışan React projem var. Bu react projesini simülatör üzerinden test etmem gerekiyor. Simültaör'den localhost:3000'e bağlanmaya çalıştığım zaman erişim hatası almaya başladım. Bu durumda şu sorular meydana çıkıyor:

  1. Localhostta çalışan bir proje, yine aynı bilgisayardaki bir simülatörde neden çalışmaz?
  2. Localhostta çalışan bir projeye simülatörden nasıl bağlanılır?

İlk sorunun yanıtı, denedikten sonra gördüğüm kadarıyla localhost yerine direkt olarak cihazın local ip adresini kullanmamız gerektiği yönündedir.

İkinci ve asıl sorunun yanıtına gelecek olur isek, çalışılan proje türüne ve proje yapılandırmasına göre değişkenlik göstermekle beraber, genel çözüm projedeki ip yönlendirmelerini ve izin verilen ip adreslerinin değiştirilmesi gerekmektedir. Peki nedir bunlar?

  • Bir .Net Core projesinde Properties klasörü içindeki LaunchSettings.json'da bulunan applicationUrl kısmına local ip adresinizi de eklemelisiniz. Aksi takdirde sadece orada belirtilen linkler üzerinden erişilebilecektir.
  • Kullandığınız .Net Core projesi bir API projesi ise, appsettings.json içerisinde belirttiğiniz CorsLinks veya AllowedOrigins var ise bunların içerisindeki linklere de local ip adresinizi eklemelisiniz. Aksi takdirde UI projenizden erişmek istediğinizde cors hatası alabilirsiniz. 
  • UI tarafında ise yine aynı şekilde API'larınıza erişmek için mevcutta https://localhost:5001/... gibi bir erişiminiz var ise bunu local ip adresiniz olarak değiştirmeniz gerekmektedir. Aksi takdirde  API'ınıza erişemeyip cors hatası alabilirsiniz.