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

Suggested prompts:

Can you explain what each part of the index.js file does in more detail?

What is the purpose of the postsRoutes.js file that's being imported?

How does the error handling middleware work in this setup?

Awesome!

Completion rate improved to 2.56

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