Dengan pembangunan Internet dan kebangkitan laman web, pembangunan bahagian hadapan dan pembangunan bahagian belakang semakin bersepadu. Node.js ialah bahasa dan rangka kerja pembangunan bahagian belakang yang berkuasa, dan APInya juga terus berkembang dan berkembang. Antaranya, protokol permintaan HTTP adalah sebahagian daripada API Node.js Dalam pembangunan, PUT dan PATCH sering digunakan sebagai dua kaedah permintaan. Artikel ini akan memperkenalkan secara terperinci perbezaan antara kedua-dua kaedah permintaan ini.
Permintaan PUT
Permintaan PUT ialah untuk mengemas kini (atau menggantikan) sumber yang diketahui. Biasanya, permintaan PUT akan menetapkan semua sifat (medan) sumber jika beberapa medan tidak ditetapkan, ia mungkin dianggap batal. Apabila menggunakan permintaan PUT untuk mengemas kini sumber yang diketahui, semua data dalam badan permintaan akan digantikan dengan data asal, jadi biasanya, permintaan PUT akan mengemas kini semua nilai medan dan bukannya mengemas kini seperti yang diperlukan.
Contohnya: Kami mempunyai sistem pengurusan akaun pengguna, di mana atribut akaun termasuk nama pengguna, kata laluan dan e-mel Kami boleh mengemas kini atribut akaun ini melalui permintaan PUT. Jika anda menggunakan PUT untuk mengemas kini, anda perlu menghantar ketiga-tiga atribut nama pengguna, kata laluan dan e-mel ke bahagian belakang Selepas kemas kini, data asal akan diganti. Jika salah satu sifat tidak dikemas kini, bahagian belakang akan mengemas kini nilai harta itu kepada null.
Dari segi pelaksanaan kod, permintaan PUT dilaksanakan dalam Node.js seperti berikut:
app.put('/user/:id', (req, res) => { const userId = req.params.id; const userData = req.body; // 获取请求体中的数据 //执行更新操作 //... });
Permintaan PATCH
Permintaan PATCH adalah untuk mengemas kini beberapa sumber yang diketahui. Berbanding dengan permintaan PUT, permintaan PATCH hanya akan mengemas kini atribut yang disediakan dalam badan permintaan Untuk atribut yang tidak disediakan dalam badan permintaan, nilai asal sumber tidak akan terjejas.
Contohnya: Jika kita perlu mengemas kini kata laluan dalam sistem akaun di atas, kita boleh menggunakan permintaan PATCH. Dalam permintaan PATCH, kami hanya perlu menghantar data format JSON yang mengandungi kemas kini kata laluan ke bahagian belakang, tanpa mengemas kini semua medan. Selepas kemas kini, nilai medan lain akan kekal tidak berubah.
Dari segi pelaksanaan kod, permintaan PATCH dilaksanakan dalam Node.js seperti berikut:
app.patch('/user/:id', (req, res) => { const userId = req.params.id; const userData = req.body; // 获取请求体中的数据 //将请求体中的数据更新到数据库 //... });
Perbezaan antara PUT dan PATCH
PUT dan PATCH adalah kedua-dua kaedah permintaan . Digunakan untuk mengemas kini sumber sedia ada, tetapi perbezaannya ditunjukkan terutamanya dalam aspek berikut:
Permintaan PUT akan menukar kandungan permintaan Semua data dalam menggantikan data asal Biasanya, permintaan PUT akan mengemas kini semua nilai medan dan bukannya mengemas kini seperti yang diperlukan. Permintaan PATCH hanya akan mengemas kini atribut yang disediakan dalam badan permintaan kepada sumber asal.
Permintaan PUT akan mengemas kini atribut yang tidak disediakan dalam badan permintaan kepada null; Permintaan PATCH tidak akan terjejas dan nilai asal tidak akan berubah.
PUT meminta pertanyaan sama ada data yang dihantar benar-benar konsisten dengan maklumat data latar belakang pada masa itu permintaan, dan jika demikian Sebaik sahaja pelayan menentukan bahawa data yang sama adalah sama, ia akan kembali secara langsung (mengurangkan satu interaksi maklumat data), jadi ini akan menjadikan lebar jalur permintaan kecil dan pantas.
Ringkasnya, permintaan PUT dan PATCH digunakan untuk mengemas kini sumber yang diketahui, tetapi ia berbeza dalam kaedah kemas kini, kaedah pemprosesan data dan prestasi yang tidak disediakan dalam badan permintaan. Dalam aplikasi sebenar, pembangun perlu memilih kaedah permintaan yang berbeza mengikut keperluan yang berbeza.
Atas ialah kandungan terperinci Perbezaan antara nodejs put dan patch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!