Hartanah Permintaan Ekspres yang penting Setiap Pembangun Perlu Tahu

DDD
Lepaskan: 2024-09-12 22:31:38
asal
998 orang telah melayarinya

ssential Express Request Properties Every Developer Should Know

Apabila mengerjakan bahagian belakang projek, pengendalian permintaan dan respons adalah penting. Menguruskan permintaan ini dengan cekap adalah penting untuk komunikasi lancar antara pelanggan dan pelayan. Berikut ialah beberapa sifat permintaan biasa dan penting yang setiap pembangun harus biasa.

1. req.ip

req.ip dalam Express.js ialah sifat objek permintaan yang menyediakan alamat IP pelanggan yang membuat permintaan. Ia mengembalikan rentetan yang mewakili alamat IP pelanggan.

Mengendalikan Proksi:
Secara lalai, jika apl berada di belakang proksi, req.ip mungkin mengembalikan IP proksi dan bukannya IP pelanggan sebenar. Untuk mendapatkan IP klien yang betul, anda boleh mengkonfigurasi Express untuk mempercayai proksi dengan menetapkan proksi amanah.

app.set("trust proxy", true);
Salin selepas log masuk

Kini, req.ip akan mengembalikan IP pelanggan yang betul walaupun berada di belakang proksi.

Contoh:

app.get('/', (req, res) => {
  console.log(req.ip);  // Logs the client's IP address
  res.send(`Your IP address is ${req.ip}`);
});
Salin selepas log masuk

2. req.cookies

Untuk menggunakan req.cookies, kami perlu memasang pakej yang dipanggil perisian tengah penghurai kuki. Harta ini digunakan untuk mendapatkan kuki yang dihantar oleh pelanggan dalam pengepala Kuki. Cookies dalam req.cookies tidak ditandatangani, bermakna mereka tidak diganggu atau disahkan. Anda boleh menggunakan ini untuk data yang kurang sensitif

import cookieParser from "cookie-parser";

app.use(cookieParser());

app.get('/example', (req, res) => {
  console.log(req.cookies);  // { cookieName: 'cookieValue' }
});
Salin selepas log masuk

3. req.signedCookies

Untuk menggunakan req.signedCookies, kami perlu memasang pakej yang dipanggil perisian tengah penghurai kuki. Ini mengandungi kuki yang telah ditandatangani dan disahkan untuk memastikan kuki tersebut tidak diubah. Kuki yang ditandatangani disulitkan dengan kunci rahsia. Req.signedCookies hanya menyimpan kuki yang lulus pengesahan.

Cara Menetapkan Kuki Bertandatangan:
Untuk menetapkan kuki yang ditandatangani, anda boleh menggunakan pilihan yang ditandatangani: benar:

res.cookie('signedCookieName', 'signedValue', { signed: true });
Salin selepas log masuk

Contoh:

import cookieParser from "cookie-parser";

app.use(cookieParser('your-secret-key'));

app.get('/example', (req, res) => {
  console.log(req.signedCookies);  // { signedCookieName: 'signedValue' }
});

Salin selepas log masuk

4. req.params

req.params dalam Express.js ialah objek yang mengandungi parameter laluan daripada URL permintaan. Parameter laluan dinamakan ruang letak dalam laluan laluan dan req.params menyimpan nilai yang disediakan oleh klien dalam URL untuk ruang letak tersebut.
Anda boleh menentukan laluan dengan parameter dengan menggunakan titik bertindih (:) sebelum nama parameter.

Contoh:

app.get('/users/:userId', (req, res) => {
  console.log(req.params); // { userId: 'valueFromURL' }
  res.send(`User ID is ${req.params.userId}`);
});

Salin selepas log masuk

5. permintaan.pertanyaan

req.query dalam Express.js ialah objek yang mengandungi parameter rentetan pertanyaan daripada URL permintaan. Rentetan pertanyaan ialah pasangan nilai kunci yang datang selepas ? dalam URL dan digunakan untuk menghantar data tambahan kepada pelayan. Berbilang pertanyaan boleh dihantar menggunakan &.

Contoh URL:

http://example.com/search?term=flowers&sort=asc
Salin selepas log masuk

Contoh:

app.get('/search', (req, res) => {
  console.log(req.query);  // { term: 'flowers', sort: 'asc' }
  res.send(`Search term: ${req.query.term}, Sort order: ${req.query.sort}`);
});

Salin selepas log masuk

6. req.body

Ia mengandungi pasangan nilai kunci data yang dihantar oleh pelanggan. Secara lalai, nilainya tidak ditentukan. Data badan boleh diisi menggunakan perisian tengah terbina dalam seperti express.json dan urlencoded({ extended: true }), atau middleware luaran seperti body-parser.

Kod berikut membantu anda memahami

import express from "express";

const app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.get("/user", (req, res) => {
    const user  = req.body;
    consolo.log(user);
    res.send(user);
})
Salin selepas log masuk

Semoga anda mendapati ini membantu! Jangan lupa like dan save untuk rujukan masa hadapan. Selamat mengekod!

Atas ialah kandungan terperinci Hartanah Permintaan Ekspres yang penting Setiap Pembangun Perlu Tahu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!