در این مقاله نحوه مصرف Web API در .Net core 3.1 MVC را خواهید دید. این مقاله به مبتدیانی که با مفاهیم API آشنا هستند کمک خواهد کرد. بیایید مصرف وب API در .Net core 3.1 MVC را با استفاده از یک مثال ساده بررسی کنیم.
برای سهولت درک مفهوم، یک سناریوی دنیای واقعی ایجاد کردم. در این پروژه دمو، یک اپلیکیشن لاگین ساده با استفاده از web API ایجاد می شود و روی .Net core MVC مصرف می شود.
چرا به API نیاز داریم و استفاده از API در پروژه چه فایده ای دارد؟
API مخفف Application Programming Interface است - درست مانند سرویس های وب آنلاین که توسط برنامه های سمت مشتری برای بازیابی اطلاعات استفاده می شود. یک API منطق مرکزی یک برنامه کاربردی را بدون توجه به تعداد برنامه های مشتری که از آن استفاده می کنند، نگه می دارد.
برای درک بهتر، بیایید مثالی را در نظر بگیریم که در آن تعدادی برنامه وجود دارد که از پلتفرم های مختلف پشتیبانی می کنند. هر برنامه مشتری منطق تجاری خود را دارد که به آن امکان می دهد مستقیماً به پایگاه داده متصل شود تا داده ها را دستکاری کند. از این رو، اجرای هرگونه تغییر در برنامه مشتری دشوار خواهد بود. در صورت بروز هر گونه به روز رسانی، لازم است تغییراتی در هر برنامه به صورت جداگانه اعمال شود. برای جلوگیری از این تضاد، بهتر است از یک API مرکزی برای دستکاری داده ها استفاده کنید. نگهداری آن آسان خواهد بود و تغییرات را می توان در یک مکان انجام داد.
بیایید پروژه را شروع کنیم.
در این پروژه دمو، یک اپلیکیشن لاگین ساده با استفاده از web API ایجاد می شود و روی .Net core MVC مصرف می شود.
پروژه Web API ایجاد کنید
ایجاد پروژه جدید وب API، پروژه جدید–> ASP.Net Core Web Application–> انتخاب API–> روی ایجاد کلیک کنید.
جداول ورود و ثبت نام در پایگاه داده ایجاد کنید
در این پروژه از رویکرد رویه ذخیره شده برای دستکاری داده ها در پایگاه داده استفاده می شود. روشی را برای ورود و ثبت نام به عنوان "SpLogin" و "SpSignup" ایجاد کنید. رویه ورود، زمانی که کاربر در جدول ورود وجود داشته باشد، شمارش را برمی گرداند. روش ثبت نام به کاربران جدید اجازه می دهد تا یک حساب کاربری جدید ایجاد کنند یا به کاربر اجازه ثبت نام می دهد.
یک کلاس پایگاه داده ایجاد کنید
معمولاً مقادیر رشته اتصال باید در appsettings.json داده شود. در این پروژه از یک کلاس داده جداگانه برای کمک به درک مبتدیان استفاده می شود.
{
public static string Connection = "Server=*******;Database=WebApiDemo;Trusted_Connection=True;";
public static string Conn { get => Connection; }
}
یک کلاس مدل برای اطلاعات کاربری ایجاد کنید
در این پروژه کاربران مجاز به ورود و ثبت نام هستند. بنابراین من به اطلاعات کاربری اولیه مانند نام کاربری، رمز عبور و ایمیل به عنوان اطلاعات کاربری در کلاس مدل کاربری خود نیاز دارم.
{
public string UserName { get; set; }
public string Password { get; set; }
public string Mail { get; set; }
}
یک کلاس دسترسی به داده ایجاد کنید