0Pricing
Node.js Backend Development Bootcamp · Pelajaran

Menangani Data Permintaan: Body, Query & Parameter

Kuasai cara Express menerima dan menguraikan data masuk dari klien, termasuk parameter rute, string kueri, body JSON, dan pengiriman formulir.

Menangani Data Permintaan: Body, Query & Parameter adalah pelajaran Node.js Backend Development Bootcamp gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Node.js Backend Development Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Node.js Backend Development Bootcamp mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Where Client Data Comes From

An HTTP request can carry data in several places. An Express handler reads each from a different property of the req object:

  • Route params: req.params
  • Query string: req.query
  • Request body: req.body
  • Headers: req.headers
app.get('/info', (req, res) => {
  res.json({ params: req.params, query: req.query });
});

Route Parameters

Route parameters are named URL segments prefixed with a colon. For /users/:id, a request to /users/42 gives req.params.id === '42'.

They are always strings, so convert to numbers when needed.

app.get('/users/:id', (req, res) => {
  const id = Number(req.params.id);
  res.send('Looking up user ' + id);
});

Multiple Route Parameters

A route can capture several params at once. Each colon segment becomes a key on req.params.

app.get('/books/:author/:title', (req, res) => {
  const { author, title } = req.params;
  res.send(author + ' wrote ' + title);
});

Query Strings

Everything after the ? in a URL is the query string. Express parses it into req.query as key-value pairs.

For /search?term=node&page=2, you get req.query.term and req.query.page.

app.get('/search', (req, res) => {
  const { term, page } = req.query;
  res.send('Searching ' + term + ' page ' + (page || 1));
});

Parsing JSON Bodies

POST and PUT requests usually send a JSON body. Express does not parse it by default — you must enable the built-in middleware express.json().

const express = require('express');
const app = express();
app.use(express.json());
app.post('/users', (req, res) => {
  res.json({ received: req.body });
});

Parsing Form Data

HTML forms submit data as application/x-www-form-urlencoded. Enable express.urlencoded() to populate req.body from form fields.

app.use(express.urlencoded({ extended: true }));
app.post('/login', (req, res) => {
  res.send('Welcome ' + req.body.username);
});

Validating Required Fields

Never trust client input. Always check that required fields are present before using them, and respond with a 400 Bad Request if something is missing.

app.post('/users', (req, res) => {
  const { name, email } = req.body;
  if (!name || !email) {
    return res.status(400).json({ error: 'name and email required' });
  }
  res.status(201).json({ name, email });
});

Reading Headers

Headers carry metadata like authentication tokens and content types. Access them via req.headers (keys are lowercased) or the helper req.get().

app.get('/secure', (req, res) => {
  const auth = req.get('Authorization');
  res.send('Token: ' + (auth || 'none'));
});

Default Values for Optional Data

Query and body values are often optional. Provide sensible defaults so your handler does not break when a parameter is omitted.

app.get('/products', (req, res) => {
  const page = Number(req.query.page) || 1;
  const limit = Number(req.query.limit) || 10;
  res.json({ page, limit });
});

Combining All Three Sources

A single endpoint can read params, query, and body together. For example, updating a resource identified by a param, with options in the query, and new data in the body.

app.put('/users/:id', (req, res) => {
  const id = req.params.id;
  const notify = req.query.notify === 'true';
  const updates = req.body;
  res.json({ id, notify, updates });
});

Common Mistakes

Watch out for these pitfalls:

  • Forgetting express.json() so req.body is undefined
  • Treating params as numbers without converting
  • Trusting input without validation
  • Confusing query (?key=value) with params (/:key)

Quick Check

Test your knowledge of Express request data.

Recap

You now know how Express receives client data:

  • req.params for named URL segments
  • req.query for the query string
  • req.body for JSON (with express.json()) and forms (with express.urlencoded())
  • req.headers / req.get() for metadata

Always validate and provide defaults — never trust raw client input.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menangani Data Permintaan: Body, Query & Parameter” gratis?

Ya — teks lengkap “Menangani Data Permintaan: Body, Query & Parameter” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Node.js Backend Development Bootcamp, upgrade ke CoddyKit PRO. Kursus Node.js Backend Development Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menangani Data Permintaan: Body, Query & Parameter”?

Kuasai cara Express menerima dan menguraikan data masuk dari klien, termasuk parameter rute, string kueri, body JSON, dan pengiriman formulir. Kamu berlatih Node.js Backend Development Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Node.js Backend Development Bootcamp?

Tidak diperlukan pengalaman sebelumnya. Node.js Backend Development Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Menangani Data Permintaan: Body, Query & Parameter” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Node.js Backend Development Bootcamp ini?

Ya. Setiap pelajaran Node.js Backend Development Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar Kerangka Kerja Express.js
  2. Perutean & Middleware dalam Express
  3. Merancang Titik Akhir API Bergaya REST
  4. Menangani Data Permintaan: Body, Query & Parameter
← Kembali ke Node.js Backend Development Bootcamp