𝗠𝗘𝗥𝗡 𝗦𝘁𝗮𝗰𝗸 𝗢̈𝗴𝗿𝗲𝗻𝗺𝗲𝘆𝗶𝗻 𝟯𝟳. 𝗚𝘂̈𝗻𝘂̈
MERN stack yolculuğumun 37. günündeyim.
Dün /about ve /contact gibi sayfalar için yapısal yönlendirme (routing) kurdum. Bugün backend geliştirmeye geçiş yaptım. URL ayrıştırma (parsing) ve sorgu parametrelerine (query parameters) odaklandım.
Bir web sitesinde bir ürün aradığınızda, veriler URL içinde bulunur. Bu verileri Node.js içinde nasıl okuyacağımı ve kullanacağımı öğrendim.
Bir URL, bir metin dizisinden daha fazlasıdır. Yapılandırılmış bir nesnedir. İşte çalışma şekli:
- Pathname: Bu, /search veya /api/products gibi ana konumdur.
- Query: Bunlar, ?name=ali&id=7 gibi soru işaretinden sonra gelen veri çiftleridir.
Bu adresleri ayrıştırmak için url modülünü kullandım. Ayrıştırıcı (parser), ham URL'yi kullanılabilir bir nesneye dönüştürür.
Bugün kullandığım kod aşağıdadır:
const http = require("http");
const url = require("url");
const server = http.createServer((req, res) => {
let parsedUrl = url.parse(req.url, true);
let pathname = parsedUrl.pathname;
let queryData = parsedUrl.query;
if (pathname === "/search") {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end(`Searching logs for user: ${queryData.name} with ID: ${queryData.id}`);
} else {
res.end("Standard Endpoint View");
}
});
server.listen(8000);
Bu yöntem, sorgu metnini temiz bir JavaScript nesnesine dönüştürür. Veri yönetimini basit ve verimli hale getirir.
Kaynak: https://dev.to/ali_hamza_589ec7b3eb6688d/day-37-of-learning-mern-stack-4758