استفاده از ExpressJS برای GET و POST

استفاده از ExpressJS برای GET و POST

معمولا وقتی در حال ساخت آپ های با استفاده از ExpressJS هستیم، نیاز داریم که اطلاعات کاربر را دریافت کنیم.

 

پارامترهای URL

 

این ها اطلاعاتی هستند که از شبیه به URL زیر منتقل می شوند:

 

 

مثال فوق را بیشتر در، درخواست های اطلاعاتی که از یک API می شود، دیده ایم.

 

پارامترهای URL را با استفاده از req.param.variable_name به دست می آوریم.

 

پارامترهای POST

 

این ها اطلاعاتی هستند که از فرم ها ارسال می شوند. ما آنها را از فرم ها که به عنوان application/x-www-form-urlencode ارسال می شوند، دریافت می کنیم.

 

پارامترهای POST را از طریق req.body.variable_name به دست می آوریم.

 

بیایید ببینیم چگونه می توانیم این پارامترها را با استفاده از فریم ورک محبوب Node.js و ExpressJS به دست بیاوریم.

 

نمونه آپ برای تست

 

ما یک آپ ساده را خواهیم ساخت که برای اطمینان از اینکه به دست آوردن پارامترها امکان پذیر است. ما همچنین از POSTman برای تست ارسال فرم استفاده می کنیم.

 

ما تنها به دو فایل نیاز داریم:

 

 

برای ساخت فایل package.json ابتدا در یک دایرکتوری خالی با استفاده از خط فرمان خود (Git)، دستور npm init را اجرا کنید، تا اطلاعات لازم پروژه خود را اضافه کنیم.

حال با دستور زیر expressjs را به پروزه خود اضافه کنید:

 

 

فایل package.json تقریبا باید شبیه به زیر باشد:

 

 

حال دستورات زیر را به فایل server.js اضافه کنید:

 

 

جال می توانیم سرور خود را با استفاده از دستور زیر راه اندازی کنید:

 

 

شما حتی می توانید از nodemon server.js استفاده کنید، به شرطی که nodemon را نصب کرده باشید، بنابراین لازم نباشد با هر بار تغییر در کد، سرور خود را متوقف و شروع کنید.

 

حال اجازه دهید دو مسیر یا همان route را برای تست دریافت پارامترها ایجاد کنیم.

 

به دست آوردن هرگونه پارامتر URL

 

در این مثال، ما یک پارامتر را مستقیما از یک URL دریافت می کنیم. بیایید فرض کنیم که از URL زیر استفاده می کنیم:

 

 

پارامترهایی که می شود از URL استخراج کرد به صورت زیر است:

 

  • id | 4
  • token | sdfa3
  • geo | ir

 

به راحتی می شود این پارامترها را به دست آورد. در اینجا مسیر (route) و متد دریافت پارامتر ()req.param است:

 

 

این پارامترها به طور طبیعی از طریق req منتقل می شوند. حال اگر ما به آدرس http://localhost:3000/api/users?id=4&token=sdfa3&geo=ir در مرورگر خود مراجعه کنیم، قادر به دیدن پارامترها می شویم!

 

مسیرهای خاص برای پارامترهای خاص

 

ما می توانیم مستقیما نام پارامتر را در مسیر خود بیاوریم. دقیقا به صورت زیر:

 

 

در ادامه، با استفاده از تابع param در Express پارامترهای خاص را به دست می آوریم. این به عنوان middleware در نظر گرفته شده است و قبل از فراخوانی مسیر اجرا می شود.

 

این می تواند برای اعتبار سنجی مورد استفاده قرار گیرد (مثلا، بررسی اینکه آیا کاربر وجود دارد) یا دریافت اطلاعات مهم درباره کاربر یا بخش.

 

 

اگر به آدرس http://localhost:3000/api/users/patrick مراجعه کنید، خروجی زیر را مشاهده خواهید کرد. توجه داشته باشید که اگر از nodemon استفاده نمی کنید، باید سرور خود را از نو راه اندازی کنید.

 

 

بسیار هم تمیز. شما می توانید از این param واسطه برای اعتبار سنجی و مطمئن شدن از اینکه اطلاعات پاس داده شده معتبر و شامل فرمت درست است یا نه.

 

خوب، فکر کنم تا اینجا کافیه، در بخش بعد با پارامترهای POST آشنا می شویم.