از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش برگرداندن کدهای وضعیت در Express
برای هر توسعهدهندهای که با API و Express کار میکند، درک روش بازگرداندن کدهای وضعیت HTTP صحیح مهم است. کدهای وضعیت HTTP روش سرور برای برقراری ارتباط با وضعیت درخواست مشتری هستند – چه موفقیت آمیز باشد، چه باعث خطای سرور شده باشد یا هر چیزی در این بین.
بسیاری از توسعه دهندگان باتجربه احتمالاً در موقعیتی بوده اند که در آن از یک API استفاده می کنند و درخواست با شکست مواجه می شود، اما دلیل آن را نمی دانند. اگر API کد وضعیت مناسب را به همراه یک پیام کوتاه برگرداند، میتواند ساعتها در زمان اشکالزدایی توسعهدهندگان صرفهجویی کند.
در این مقاله کوتاه، به اهمیت این کدهای وضعیت و روش استفاده از آنها در Express.js، چارچوب وب سریع، بدون نظر و مینیمالیستی برای Node.js خواهیم پرداخت.
بیایید با ساده ترین راه برای بازگرداندن کد وضعیت در Express.js شروع کنیم. این کار با استفاده از res.status()
تابع، کجا res
شیء پاسخی است که به تماس گیرنده مسیر شما ارسال می شود.
app.get('/api/users', (req, res) => {
res.status(200).json({ message: "Success!" });
});
در مثال بالا، ما یک کد وضعیت 200 را ارسال می کنیم که نشان می دهد درخواست موفقیت آمیز بوده است.
با این حال، Express.js راه معنایی تری برای ارسال بسیاری از کدهای وضعیت HTTP رایج ارائه می دهد. برای مثال می توانید استفاده کنید res.sendStatus()
بجای res.status().send()
برای ارسال کدهای وضعیت با یک پیام کوتاه.
app.get('/api/users', (req, res) => {
res.sendStatus(200); // equivalent to res.status(200).send('OK')
});
توجه داشته باشید: به یاد داشته باشید که کدهای وضعیت HTTP فقط برای درخواست های موفق نیستند. اگر وضعیت خطا را برمیگردانید، مانند 400 برای «درخواست بد» یا 404 برای «یافت نشد»، ارائه اطلاعات بیشتر در مورد اشتباهی که رخ داده مفید است.
هنگام برخورد با خطاها، می توانیم از آن استفاده کنیم res.status()
روش در ارتباط با .json()
برای ارائه یک پیام خطای دقیق
app.get('/api/users', (req, res) => {
res.status(404).json({ error: "User not found!" });
});
به این ترتیب، کلاینت هم کد وضعیت خطا و هم پیامی را دریافت می کند که جزئیات مشکل را توضیح می دهد.
اما چگونه با خطاهای غیرمنتظره ای که در حین اجرای کدمان رخ می دهد، برخورد کنیم؟ Express.js توابع میانافزار مدیریت خطا را برای آن ارائه میکند.
توابع Middleware توابعی هستند که به شی درخواست دسترسی دارند (req
، شی پاسخ (res
)، و next
عملکرد میان افزار در چرخه درخواست-پاسخ برنامه. آنها می توانند هر کدی را اجرا کنند، تغییراتی در درخواست و اشیاء پاسخ ایجاد کنند، چرخه درخواست پاسخ را پایان دهند و تابع میان افزار بعدی را در پشته فراخوانی کنند.
در اینجا یک مثال اساسی از یک تابع میانافزار مدیریت خطا آورده شده است:
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something broke!');
});
در این مثال، اگر خطایی در هر جایی از برنامه شما پرتاب شود، توسط این تابع میان افزار شناسایی می شود. این تابع ردیابی پشته خطا را ثبت می کند و یک کد وضعیت 500 را برای مشتری ارسال می کند که نشان دهنده خطای سرور داخلی است.
بازگرداندن کدهای وضعیت HTTP در Express.js به چند روش مختلف قابل دستیابی است. چه از طریق استفاده باشد res.status()
، res.sendStatus()
، یا در ترکیب با توابع میان افزار رسیدگی به خطا، هر روش نقشی را در برقراری ارتباط وضعیت درخواست های مشتری ایفا می کند. درک این روشهای مختلف به ما کمک میکند تا کد قویتری بنویسیم، اما همچنین APIهای کاربرپسند را نیز بنویسیم.
با صرف زمان برای بازگرداندن کدهای وضعیت مناسب، اطمینان حاصل می کنید که برنامه شما به طور موثر با مشتریان ارتباط برقرار می کند، خواه مرورگرها، برنامه های شخص ثالث یا سرورهای دیگر باشند.
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-04 07:16:07