Parameter
Pertanyaan API ialah pasangan nilai kunci yang dilampirkan pada URL permintaan API untuk menghantar maklumat tambahan kepada pelayan. Mereka membenarkan pelanggan (seperti pelayar web atau aplikasi) untuk menentukan kriteria tertentu atau menghantar data apabila membuat permintaan kepada pelayan.
Parameter pertanyaan ditambahkan pada penghujung URL selepas tanda soal (?). Setiap parameter ialah pasangan nilai kunci, dengan kunci dan nilai dipisahkan oleh tanda sama dengan (=). Jika terdapat berbilang parameter pertanyaan, ia dipisahkan oleh ampersand (&).
Cara Parameter Pertanyaan Digunakan:
Penapisan Data: Pelanggan boleh menggunakan parameter pertanyaan untuk menapis data yang mereka inginkan. Contohnya, ?category=books mungkin memberitahu pelayan untuk hanya memulangkan item daripada kategori "buku".
Penomboran: Parameter pertanyaan sering digunakan untuk penomboran dalam permintaan API, membolehkan pelanggan menentukan halaman hasil yang hendak diambil dan bilangan item setiap halaman. Contoh: ?page=2&limit=10.
Isih dan Susunan: Parameter pertanyaan boleh digunakan untuk menentukan cara data harus diisih. Contohnya, ?sort=price&order=asc boleh mengarahkan pelayan untuk memulangkan item yang diisih mengikut harga dalam tertib menaik.
Meluluskan Istilah Carian: API sering menggunakan parameter pertanyaan untuk membolehkan pelanggan mencari data. Sebagai contoh, ?search=laptop mungkin digunakan untuk mencari semua produk yang sepadan dengan istilah "komputer riba."
Parameter pertanyaan sangat fleksibel dan boleh digunakan dalam pelbagai cara, bergantung pada cara API direka bentuk. Mereka membenarkan interaksi dinamik antara pelanggan dan pelayan, menjadikannya lebih mudah untuk meminta data tersuai.
// pages/api/greet.js export default function handler(req, res) { const { name } = req.query; // Get the 'name' query parameter const greeting = name ? `Hello, ${name}!` : 'Hello, stranger!'; res.status(200).json({ message: greeting }); }
Contoh penggunaan:
/api/greet?name=John akan kembali { "message": "Hello, John!" }
/api/greet akan kembali { "message": "Hello, stranger!" }
// pages/api/user.js export default function handler(req, res) { const { name, age } = req.query; // Get 'name' and 'age' query parameters if (!name || !age) { res.status(400).json({ error: 'Name and age are required' }); return; } res.status(200).json({ message: `User ${name} is ${age} years old.` }); }
Contoh penggunaan:
/api/user?name=Jane&age=28 akan mengembalikan { "message": "User Jane berumur 28 tahun." }
/api/user?name=Jane akan mengembalikan { "error": "Nama dan umur diperlukan" }
// pages/api/score.js export default function handler(req, res) { const { player = 'Anonymous', score = '0' } = req.query; // Default values if missing res.status(200).json({ message: `${player} scored ${score} points!` }); }
Contoh penggunaan:
/api/score?player=Alex&score=100 akan mengembalikan { "message": "Alex mendapat 100 mata!" }
/api/score akan mengembalikan { "message": "Anonymous scored 0 points!" }
// pages/api/tags.js export default function handler(req, res) { const { tags } = req.query; // Get 'tags' query parameter (array) if (!tags) { res.status(400).json({ error: 'Tags are required' }); return; } res.status(200).json({ message: `You have selected these tags: ${tags.join(', ')}` }); }
Contoh penggunaan:
/api/tags?tags=javascript&tags=react akan mengembalikan { "message": "Anda telah memilih tag ini: javascript, react" }
/api/tags akan mengembalikan { "error": "Tag diperlukan" }
// pages/api/items.js export default function handler(req, res) { const { page = 1, limit = 10 } = req.query; // Default values for page and limit const startIndex = (page - 1) * limit; const endIndex = startIndex + Number(limit); // Dummy data for demonstration const items = Array.from({ length: 100 }, (_, i) => `Item ${i + 1}`); const paginatedItems = items.slice(startIndex, endIndex); res.status(200).json({ currentPage: page, perPage: limit, items: paginatedItems, }); }
Contoh penggunaan:
/api/items?page=2&limit=5 akan mengembalikan 5 item seterusnya, seperti { "item": ["Item 6", "Item 7", "Item 8", "Item 9", "Item 10"] }
/api/items (nilai lalai) akan mengembalikan 10 item pertama, seperti { "item": ["Item 1", "Item 2", ..., "Item 10"] }
Contoh ini menunjukkan fleksibiliti menggunakan parameter pertanyaan dalam laluan API Next.js, meliputi corak biasa seperti parameter tunggal atau berbilang, nilai pilihan, tatasusunan dan penomboran.
Atas ialah kandungan terperinci Contoh Param Pertanyaan API extjs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!