Önceki yazıda Node.js'de dahili HTTP modülü ile nasıl HTTP sunucusu oluşturulacağını öğrenmiştik. O örnekte düz metinle nasıl yanıt verileceğini gördük. Bu yazıda, JSON verisiyle nasıl yanıt verileceğini öğreneceğiz.
JSON, "JavaScript Object Notation" anlamına gelir ve HTTP ile kullanabileceğimiz bir veri alışverişi formatıdır. V8 motoru, JSON formatını destekleyen yerleşik işlevselliklere sahiptir.
Öncelikle JSON olarak göndermek istediğimiz veriyi bir JavaScript nesnesi olarak oluşturalım:
const instructor = {
firstName: "Emin",
lastName: "Başbayan"
};
Bu nesneyi doğrudan yanıt olarak gönderemeyiz çünkü HTTP yanıtları genellikle metin formatındadır. Bu nedenle, nesneyi JSON formatına dönüştürmemiz gerekir. Bunun için JSON.stringify
metodunu kullanırız:
response.end(JSON.stringify(instructor));
Yanıtın içerik tipini 'application/json' olarak belirtmek, tarayıcının yanıtı doğru şekilde yorumlamasına yardımcı olur:
response.writeHead(200, {'Content-Type': 'application/json'});
Bu adımlarla, sunucumuz JSON formatında veri gönderen bir API endpoint'i olarak işlev görmeye başlar. Artık, bu veriyi almak isteyen herhangi bir istemci veya sunucu, uygulamamızdan bu veriyi isteyebilir.
Bu yazıda öğrendiklerimiz:
JSON formatının ne olduğu ve neden kullanıldığı.
JavaScript nesnelerini JSON formatına dönüştürmek için JSON.stringify
metodunun kullanımı.
Yanıtın içerik tipini 'application/json' olarak belirtmek.
Bu bilgilerle, Node.js uygulamanızda JSON formatında veri gönderen API'ler oluşturabilirsiniz. İlerleyen yazılarda, Node.js ile API tasarımı hakkında daha fazla bilgi edineceğiz.