MERN Stack പഠനത്തിന്റെ 38-ാം ദിവസം

എന്റെ MERN stack പഠനയാത്രയുടെ 38-ാം ദിവസമാണിന്ന്.

ഇന്നലെ, ഒരു URL-ൽ നിന്ന് query strings എങ്ങനെ വേർതിരിച്ചെടുക്കാം എന്ന് ഞാൻ പഠിച്ചു. ഇന്ന്, ഞാൻ HTTP request methods പഠിച്ചു.

ഇന്നുവരെ, എന്റെ സെർവർ എല്ലാ റിക്വസ്റ്റുകളെയും ഒരേപോലെയാണ് കൈകാര്യം ചെയ്തിരുന്നത്. എന്നാൽ ഇപ്പോൾ, ഉപയോക്താവിന്റെ ഉദ്ദേശ്യത്തിനനുസരിച്ച് (user intent) വ്യത്യസ്തമായ പ്രവർത്തനങ്ങൾ ചെയ്യാൻ ഞാൻ ബാക്കെൻഡിനെ പ്രാപ്തമാക്കുന്നു. ഇത് ഒരു സ്റ്റാറ്റിക് എൻഡ്പോയിന്റിനെ (static endpoint) ഒരു ഫങ്ഷണൽ ടൂളായി മാറ്റുന്നു.

ഞാൻ req.method പ്രോപ്പർട്ടിയിലാണ് ശ്രദ്ധ കേന്ദ്രീകരിച്ചത്. ക്ലയന്റ് എന്താണ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നത് എന്ന് ഈ പ്രോപ്പർട്ടി സെർവറിനോട് പറയുന്നു.

ഞാൻ പഠിച്ച നാല് പ്രധാന മെത്തേഡുകൾ ഇവയാണ്:

നിങ്ങൾ req.method ഉപയോഗിക്കുമ്പോൾ, നിങ്ങളുടെ ആപ്ലിക്കേഷന്റെ ലോജിക് നിയന്ത്രിക്കാൻ നിങ്ങൾക്ക് സാധിക്കുന്നു. ഒരേ URL-ൽ തന്നെ ഒരു ഉപയോക്താവ് ഒരു പേജ് കാണുകയാണോ അതോ ഒരു ഫോം സമർപ്പിക്കുകയാണോ എന്ന് നിങ്ങൾക്ക് തീരുമാനിക്കാം.

Code example:

const http = require("http");

const server = http.createServer((req, res) => {
    if (req.url === "/api/data") {
        if (req.method === "GET") {
            res.writeHead(200, { "Content-Type": "text/plain" });
            res.end("Reading database records...");
        } else if (req.method === "POST") {
            res.writeHead(201, { "Content-Type": "text/plain" });
            res.end("Creating new data!");
        }
    } else {
        res.end("Standard Route");
    }
});
server.listen(8000);

Source: https://dev.to/ali_hamza_589ec7b3eb6688d/day-38-of-learning-mern-stack-opl