Discussion

GraphQL ile Stok Takip Sistemi: CORS (Cross-Origin) Hatası Kesin Çözümü

Started by ASENA · 30 Aug 2026 01:11 · 3 Views · 0 Replies
Thread Starter #0
CORS (Cross-Origin Resource Sharing), web tarayıcılarının farklı kaynaklar arasında veri alışverişini kontrol eden bir güvenlik mekanizmasıdır. GraphQL ile geliştirilen bir stok takip sistemi kurarken CORS hatası ile karşılaşmak oldukça yaygındır. Bu yazıda, CORS hatalarının nedenlerini ve kesin çözümlerini inceleyeceğiz.

CORS hatası, genellikle istemci (frontend) ve sunucu (backend) arasında aynı kök alanında (origin) olmayan kaynakların kullanımı sırasında ortaya çıkar. Örneğin, frontend uygulamanız http://localhost:3000 üzerinde çalışıyorsa ve GraphQL sunucunuz http://localhost:4000 üzerindeyse, bu durumda CORS politikaları devreye girer. Tarayıcı, bu iki farklı kök alanındaki istekleri kısıtlar ve güvenlik nedeniyle CORS hatası verir.

Bu hatayı çözmek için aşağıdaki adımları izleyebilirsiniz:

  • Sunucu Tarafında CORS Ayarları: Sunucu tarafında, CORS ayarlarını yapılandırmanız gereklidir. Node.js kullanıyorsanız, cors paketini kullanarak bu ayarları kolayca yapabilirsiniz:

    CODE
    12345678910111213
      const express = require('express');
      const cors = require('cors');
      const app = express();
    
      app.use(cors({
          origin: 'http://localhost:3000', // İstemci uygulamanızın adresi
          methods: ['GET', 'POST'], // İzin verilen HTTP yöntemleri
      }));
      
      app.listen(4000, () => {
          console.log('GraphQL sunucusu 4000 portunda çalışıyor.');
      });
      


  • HTTP Başlıkları: CORS hatasını çözmek için sunucunuzun yanıtlarına uygun HTTP başlıklarını eklemesi gerekir. Özellikle Access-Control-Allow-Origin, Access-Control-Allow-Methods ve Access-Control-Allow-Headers başlıklarını kontrol edin. Bu başlıklar, istemci uygulamanızın sunucuya nasıl erişebileceğini belirler.

  • Preflight İstekleri: Eğer istemci uygulamanız bir POST isteği yapıyorsa, tarayıcı preflight isteği gönderir. Bu durumda sunucunuzun OPTIONS isteklerine yanıt vermesi gerekir. Bunu sağlamak için, sunucunuzda OPTIONS metodunu desteklediğinizden emin olun.

Sonuç olarak, CORS hataları genellikle sunucu yapılandırmasından kaynaklanır ve uygun ayarlarla bu sorunlar kolaylıkla çözülebilir. Bu adımları izleyerek, GraphQL tabanlı stok takip sisteminizin CORS sorunlarını giderebilir ve sorunsuz bir kullanıcı deneyimi sunabilirsiniz.

You must be logged in to reply.

0 quotes selected