ساخت API های RESTful با استفاده از MERN

ساخت API های RESTful با استفاده از MERN
در این مقاله، نحوه ساخت API های RESTful با MERN به عنوان نقاط پایانی API را یاد خواهیم گرفت که برای عملکرد یک برنامه فول استک بسیار مهم است. ما آنها را از ابتدا با توضیحی خواهیم ساخت.
MERN یک پشته توسعه وب محبوب است که برای ساخت وب سایت ها و صفحات وب شامل خدماتی مانند پایگاه داده، Backend و Frontend استفاده می شود. زبان برنامه نویسی اصلی مورد استفاده در این پشته فناوری جاوا اسکریپت است که به ایجاد برنامه هایی با ماهیت پویا کمک می کند.
نحوه ساخت API های RESTful در پشته MERN
ابتدا، اجازه دهید با نصب تمام نیازها و وابستگی های مورد نیاز که باید در سیستم ما وجود داشته باشد، ساخت API را شروع کنیم. در مرحله بعدی، ما باید وابستگیهای اساسی مانند NodeJS و MongoDB را نصب کنیم، در صورتی که قبلاً در سیستم ما نصب نشده باشند، در غیر این صورت ما آماده هستیم. اکنون که نصب وابستگی ها تمام شد، باید کتابخانه های محبوب express و mongoose را با استفاده از مدیر بسته گره نصب کنیم. سینتکس هر دو را می توان با نصب هر کدام با استفاده از ترمینال خود تعریف کرد.
npm install express
npm install mongoose
اکنون که نصب انجام شد، باید به سیستم اطلاع دهیم که میخواهیم پروژه خود را شروع کنیم و برای انجام آن دستور npm init را برای شروع پروژه خود مینویسیم و پس از آن یک package.json در پوشه پروژه قابل مشاهده است. شامل تمام اطلاعات مربوط به پروژه است.
2. API RESTful را بسازید
برای ایجاد یک REST API برای برنامه وب ما، از فریم ورک ExpressJS استفاده می شود. مراحل ساخت عبارتند از:
- هنگامی که کتابخانه Express را با استفاده از دستور نصب کردیم،
npm install -g express-generator
در سطح جهانی که به شما امکان می دهد پروژه اکسپرس خود را در هر جایی از سیستم ما بدون هیچ زحمتی ایجاد کنید. - ترمینال را باز کنید و دستور داده شده را وارد کنید:
express myproject
و در صورتی که “myproject” در اینجا با درک دستور عجیب به نظر می رسد، مهم است که بدانید “myproject” می تواند نام مورد نظر ارائه شده توسط کاربر برای ایجاد یک پروژه اکسپرس باشد. - برای نصب وابستگی های لازم، آن را اجرا کنید
npm install
دستور برای شروع پروژه اگر از بسته های اضافه شده مانند Mongoose استفاده می کنید، لازم است. - API در این مرحله تعریف میشود که نشان میدهد چقدر خوب دادهها در دو یا چند نقطه پایانی متصل منتقل یا دریافت میشوند. یکی دیگر از ویژگی های مهم که باید به دنبال آن باشید، شی روتر است که برای تعریف نقاط انتهایی API ایجاد شده است.
- روشی مانند GET، POST، PUT و USE میان افزار را برای عملکرد مسیرها در سطح برنامه تنظیم می کند.
کد مثال برای ایجاد یک RESTful API:-
const express = require('express');
const router = express.Router();
router.get('/users', (req, res) => {
request for endpoint /users });
router.post('/users', (req, res) => {
request for endpoint /users });
module.exports = router;
همانطور که قبلاً توضیح دادیم Mongoose کتابخانه ای است که می تواند برای مدل های داده و طرحواره استفاده شود، اما مانند بسیاری از برنامه ها کاملاً به این نیاز ندارند، این کاملاً به نیاز کاربر یا مدیر پروژه بستگی دارد که آن را درج کند. وقتی صحبت از نیاز به استفاده از MongoDB برای برنامه وب ما می شود، باید با نوشتن دستور زیر یک اتصال ایجاد کنیم.
mongoose.connect('mongodb://localhost/mydatabase')
در قطعه کد بالا، میتوانید در مورد معنای «mydatabase» دچار سردرگمی شوید، بنابراین میتوان آن را به عنوان انتخاب نام شما برای پروژه در نظر گرفت.
احراز هویت و مجوز برنامه وب
اکنون که ساختن برنامه وب به پایان رسیده است، باید از امنیت و یکپارچگی پروژه اطمینان حاصل کنیم. برای اطمینان از امنیت پروژه باید مراحل خاصی را دنبال کنید
پیاده سازی JWT در برنامه وب مربوطه راهی برای ایمن سازی API شما است و توکنی تولید می کند که می تواند برای ایمن سازی API شما مورد استفاده قرار گیرد. آنها باید همراه با سایر تکنیکهای قابل اعتماد مانند کوکیها و توکنهای جعل درخواست بینسایتی برای جلوگیری از هرگونه تهدید استفاده شوند.
OAuth یک راه امن است اما برای احراز هویت شما به خدمات شخص ثالث مانند Google، Apple و Github متکی است. با انجام این تکنیک یک توکن اختصاص مییابد که میتوان از آن برای دسترسی به API استفاده کرد.
نتیجه
در این مقاله دیدیم که چگونه می توانیم وابستگی ها را تنظیم کنیم و API های RESTful را بنویسیم که می توانند برای عبور داده ها استفاده شوند. ما همچنین یاد گرفتیم که چگونه یک REST API در پشته MERN با دنبال کردن یک توالی منظم از نصب وابستگی ها، ایجاد نقاط پایانی API و تنظیم احراز هویت با استفاده از JWT و OAuth ایجاد کنیم.