Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele API:n Päätepisteen Määrittely | REST-rajapintojen Rakentaminen Node.js:llä ja Express.js:llä
Backend-kehitys Node.js:llä ja Express.js:llä

bookAPI:n Päätepisteen Määrittely

Tiedosto index.js on paikka, jossa määritellään palvelimen asetukset, määritetään välimuistit (middleware), asetetaan reitit ja käsitellään virheet. Se toimii Express-sovelluksen ytimenä.

Vaadittavien moduulien ja tiedostojen tuonti

index.js on paikka, jossa määritellään palvelimen asetukset, välimuistit, reitit ja virheenkäsittely. Tarkastellaan koodia vaihe vaiheelta.

const express = require("express"); // Import the `Express` framework
const app = express(); // Create an `Express` application instance
const router = require("./routes/postsRoutes"); // Import the `router` module for posts
const PORT = process.env.PORT || 3000; // Define the port for the server

Middleware JSON-jäsennykseen

app.use(express.json()); // Use the `express.json()` middleware for parsing JSON requests

express.json()-middleware jäsentää saapuvat JSON-pyynnöt ja tekee datan saataville req.body-kentässä. Tämä on olennaista POST- ja PUT-pyyntöjen JSON-datan käsittelyssä.

Reitityksen määrittely

Reititys määrittää, miten sovellus vastaa asiakkaan pyyntöihin.

app.use("/api", router); // Use the router for handling routes under the `"/api"` path

Reititys määrittää, miten sovellus vastaa asiakkaan pyyntöihin. Tässä koodirivissä määritellään, että router-tiedostossa määritelty postsRoutes.js käsittelee /api-polun reitit.

Virheenkäsittelymiddleware

Virheenkäsittely on tärkeää, jotta sovellus käsittelee virheet hallitusti.

// Error handling middleware
app.use((err, req, res, next) => {
  console.error(err.stack); // Log the error to the console
  res.status(500).json({ error: "Internal Server Error" }); // Send a 500 Internal Server Error response
});
  • Tämä middleware vastaa pyyntöjen käsittelyn aikana tapahtuvien virheiden sieppaamisesta. Jos jokin aiempi middleware tai reittikäsittelijä kutsuu next(err), tämä middleware sieppaa virheen;
  • Se tulostaa virheen konsoliin käyttäen console.error(err.stack);
  • Se lähettää asiakkaalle 500 Internal Server Error -vastauksen, mikä osoittaa, että palvelimella tapahtui virhe.

Palvelimen käynnistäminen

Sovelluksen määrityksen viimeistelemiseksi käynnistetään Express-palvelin määritetyllä portilla.

// Start the Express server
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`); // Log a message indicating the server is running
});
  • Tämä rivi käynnistää Express-palvelimen ja asettaa sen kuuntelemaan määritettyä porttia (PORT);
  • Kun palvelin käynnistyy, se kirjaa konsoliin viestin, joka ilmoittaa millä portilla palvelin toimii.

index.js-tiedoston täydellinen koodi

// Import required modules and files
const express = require("express"); // Import the `Express` framework
const app = express(); // Create an `Express` application instance
const router = require("./routes/postsRoutes"); // Import the `router` module for posts
const PORT = process.env.PORT || 3000; // Define the port for the server

app.use(express.json()); // Use the `express.json()` middleware for parsing JSON requests

app.use("/api", router); // Use the `router` for handling routes under the `"/api"` path

// Error handling middleware
app.use((err, req, res, next) => {
  console.error(err.stack); // Log the error to the console
  res.status(500).json({ error: "Internal Server Error" }); // Send a `500 Internal Server Error` response
});

// Start the Express server
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`); // Log a message indicating the server is running
});

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookAPI:n Päätepisteen Määrittely

Pyyhkäise näyttääksesi valikon

Tiedosto index.js on paikka, jossa määritellään palvelimen asetukset, määritetään välimuistit (middleware), asetetaan reitit ja käsitellään virheet. Se toimii Express-sovelluksen ytimenä.

Vaadittavien moduulien ja tiedostojen tuonti

index.js on paikka, jossa määritellään palvelimen asetukset, välimuistit, reitit ja virheenkäsittely. Tarkastellaan koodia vaihe vaiheelta.

const express = require("express"); // Import the `Express` framework
const app = express(); // Create an `Express` application instance
const router = require("./routes/postsRoutes"); // Import the `router` module for posts
const PORT = process.env.PORT || 3000; // Define the port for the server

Middleware JSON-jäsennykseen

app.use(express.json()); // Use the `express.json()` middleware for parsing JSON requests

express.json()-middleware jäsentää saapuvat JSON-pyynnöt ja tekee datan saataville req.body-kentässä. Tämä on olennaista POST- ja PUT-pyyntöjen JSON-datan käsittelyssä.

Reitityksen määrittely

Reititys määrittää, miten sovellus vastaa asiakkaan pyyntöihin.

app.use("/api", router); // Use the router for handling routes under the `"/api"` path

Reititys määrittää, miten sovellus vastaa asiakkaan pyyntöihin. Tässä koodirivissä määritellään, että router-tiedostossa määritelty postsRoutes.js käsittelee /api-polun reitit.

Virheenkäsittelymiddleware

Virheenkäsittely on tärkeää, jotta sovellus käsittelee virheet hallitusti.

// Error handling middleware
app.use((err, req, res, next) => {
  console.error(err.stack); // Log the error to the console
  res.status(500).json({ error: "Internal Server Error" }); // Send a 500 Internal Server Error response
});
  • Tämä middleware vastaa pyyntöjen käsittelyn aikana tapahtuvien virheiden sieppaamisesta. Jos jokin aiempi middleware tai reittikäsittelijä kutsuu next(err), tämä middleware sieppaa virheen;
  • Se tulostaa virheen konsoliin käyttäen console.error(err.stack);
  • Se lähettää asiakkaalle 500 Internal Server Error -vastauksen, mikä osoittaa, että palvelimella tapahtui virhe.

Palvelimen käynnistäminen

Sovelluksen määrityksen viimeistelemiseksi käynnistetään Express-palvelin määritetyllä portilla.

// Start the Express server
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`); // Log a message indicating the server is running
});
  • Tämä rivi käynnistää Express-palvelimen ja asettaa sen kuuntelemaan määritettyä porttia (PORT);
  • Kun palvelin käynnistyy, se kirjaa konsoliin viestin, joka ilmoittaa millä portilla palvelin toimii.

index.js-tiedoston täydellinen koodi

// Import required modules and files
const express = require("express"); // Import the `Express` framework
const app = express(); // Create an `Express` application instance
const router = require("./routes/postsRoutes"); // Import the `router` module for posts
const PORT = process.env.PORT || 3000; // Define the port for the server

app.use(express.json()); // Use the `express.json()` middleware for parsing JSON requests

app.use("/api", router); // Use the `router` for handling routes under the `"/api"` path

// Error handling middleware
app.use((err, req, res, next) => {
  console.error(err.stack); // Log the error to the console
  res.status(500).json({ error: "Internal Server Error" }); // Send a `500 Internal Server Error` response
});

// Start the Express server
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`); // Log a message indicating the server is running
});

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4
some-alt