در قسمت قبل به معرفی postgresql پرداختیم; در این قسمت قصد ایجاد و راه اندازی یک api با استفاده از دیتابیس postgresql و استفاده از تکنولوژیهای آن را با استفاده از docker داریم. ابتدا
با استفاده از دستور زیر یک پروژهی جدید asp.net core را ایجاد کنید: dotnet new webapi --minimal -o YourDirectoryPath:\YourFolderName سپس
فایل docker-compose.yaml را به روت پروژه ...
در ادامهی بررسی نکات مرتبط با Minimal API's در دات نت 6، در این قسمت به افزودن متادیتای قابل درک توسط Open API و Swagger خواهیم پرداخت. معادل این نکات را در MVC، در سری « مستند سازی ASP.NET Core 2x API توسط OpenAPI Swagger » پیشتر مشاهده کردهاید.
معادل IActionResult در Minimal API's
در Minimal API's دیگر خبری از IActionResultها نیست؛ اما بجای آن IResult را داریم. برای مثال فرض کنید میخواهیم بدنهی l ...
تا قسمت قبل موفق شدیم فایل Program.cs برنامهی Minimal API's را خلوت کنیم و همچنین زیرساختی را برای توسعهی مبتنی بر ویژگیها، ارائه دهیم. اما ... هنوز endpoints ما چنین شکلی را دارند: endpoints.MapGet("/api/authors", async (MinimalBlogDbContext ctx) =>
{
var authors = await ctx.Authors.ToListAsync();
return authors;
});
endpoints.MapPost("/api/authors", async ( ...
در معماری vertical slices با features سر و کار داریم؛ برای مثال برنامهی ما دو ویژگی نویسندهها و بلاگها را خواهد داشت و هر ویژگی، کاملا متکی به خود است. برای نمونه هر ویژگی میتواند به همراه یک ماژول باشد که به صورت مستقل، تمام سرویسها، endpoints و میانافزارهای مورد نیاز خودش را ثبت میکند. در این معماری، تمام قسمتهای مورد نیاز جهت کارکرد یک ویژگی، در کنار هم قرار میگیرند تا یافتن آنها و درک ارتباطات بین آنها سادهتر شود.
...
در دو قسمت قبل، ساختار ابتدایی برنامهی Minimal API's بلاگ دهی را ایجاد کردیم. در این قسمت میخواهیم بررسی کنیم، معادلهای کنترلرهای MVC و اکشن متدهای آنها در سیستم جدید Minimal API، به چه صورتی ایجاد میشوند. ایجاد اولین endpoint از نوع Get مبتنی بر Minimal API
برای افزودن اولین endpoint برنامه، به فایل Program.cs برنامه مراجعه کرده و آنرا به صورت زیر تکمیل میکنیم: // ...
app.UseHttpsRedirection();
app. ...
در قسمت قبل ، ساختار ابتدایی یک پروژهی Minimal API's مبتنی بر معماری Vertical slices را تشکیل دادیم. در ادامه موجودیتها و DbContext آنرا تشکیل میدهیم.
ایجاد مدلها و موجودیتهای برنامهی Minimal Blog
در مثال این سری، هر نویسنده میتواند بلاگ خاص خودش را داشته باشد و در هر بلاگ، تعدادی مقاله منتشر کند. هر مقاله هم میتواند تعدادی تگ یا گروه مرتبط را داشته باشد.
ساختار ابتدایی موجودیت نویسندگان مطالب ب ...
یکی از مهمترین تغییرات دات نت 6، ارائهی Minimal API's به همراه آن است که نسبت به MVC و سایر مشتقات ASP.NET Core، کمتر به همراه پیشفرضهای نظری خاص و بسیار مقید و متعصبانه (opinionated) است؛ که این مورد خود مزیتی است جهت انجام امور متداول، به نحوی دیگر و دلخواه و با آزادی عمل بیشتری در طراحی endpoints مورد نیاز و کل برنامه. خصوصا این سبک جدید، با معماری برشهای عمودی ( vertical slices ) ارائه شدهی توسط نویسندهی AutoMapper، هماهنگی خاصی ...