دسته بندی ها
20:07 1401/06/04

Minimal Api در Asp Core 6 چیست؟ کاربرد Minimal Api چیست ؟

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 518     رتبه کاربر : 4
دسته بندی : Asp.net Core Web Api Minimal Api

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2858
هوش مصنوعی

پاسخ هوش مصنوعی

Minimal API در ASP.NET Core 6 یک رویکرد جدید و ساده برای ایجاد API های وب است که برای توسعه دهندگان امکان نوشتن کد کمتر و سریعتر را فراهم می کند. این قابلیت هدفش کاهش پیچیدگی و افزایش سرعت توسعه است.

  • Minimal API چیست؟
    Minimal API رویکردی است که به شما اجازه می دهد تا API های وب را با استفاده از کد بسیار کمتر و با ساده ترین نحوه ممکن بسازید. با استفاده از این رویکرد، می توانید مستقیماً از توابع و متدها استفاده کنید، بدون نیاز به تعریف کلاس های کنترلر و ویژگی های پیچیده.
  • کاربرد Minimal API ها چیست؟
    کاربرد Minimal API ها شامل موارد زیر می شود:
    • سرعت و سادگی: با حذف پیچیدگی های غیرضروری، سرعت توسعه افزایش می یابد.
    • پروژه های کوچک و میانه: برای پروژه هایی که نیاز به یک API بزرگ و پیچیده ندارند، گزینه مناسب تری هستند.
    • توسعه سریع پروتوتایپ: برای تست سریع ایده ها و پروتوتایپ ها مناسب هستند.
  • نحوه ایجاد عملیات CRUD با Minimal API ها چگونه است؟
    برای ایجاد یک API با عملیات CRUD، شما می توانید از روش زیر استفاده کنید:
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddEndpointsApiExplorer();
var app = builder.Build();

// ایجاد عملیات GET
app.MapGet("/items", () => new List<string> { "Item1", "Item2" });

// ایجاد عملیات POST
app.MapPost("/items", (string item) => 
{
    // کد برای اضافه کردن آیتم
    return Results.Created($"/items/{item}", item);
});

// ایجاد عملیات PUT
app.MapPut("/items/{id}", (string id, string item) => 
{
    // کد برای بروزرسانی آیتم
    return Results.Ok(item);
});

// ایجاد عملیات DELETE
app.MapDelete("/items/{id}", (string id) => 
{
    // کد برای حذف آیتم
    return Results.NoContent();
});

app.Run();

به این ترتیب می توانید یک Minimal API ایجاد کنید که شامل تمام عملیات CRUD باشد. با این روش می توانید به سادگی و سرعت API های مورد نظر خود را توسعه دهید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 20:35 1401/06/04

Minimal Api در Asp.net Core 6 چیست ؟

آموزش کار با minimal api در core 6

 

قبل از معرفی دات نت 6 برای ساختن یک API در Asp.net Core می بایست یک کنترلر جدید ایجاد می کردیم که از کلاس ControllerBase مشتق می شد. همچنین در بالای کنترلر هم باید مشخص می کردیم که این یک API یا Endpoint می باشد و مسیر یا Routing هم مشخص می کردیم.

به فرمت زیر که یک WEB API استاندارد یا School API یا Normal Api می باشد دقت کنید.

[Route("api/[controller]")]
[ApiController]
public class MyApiController : ControllerBase
{
   ...
}

گاهی برای انجام کارهای کوچک یا یک سرویس کوچک و خلاصه ایجاد یک Endpoint جداگانه و کلاسهای جداگانه کمی زیاده روی به نظر می آمد. به همین جهت مایکروسافت در نسخه دات نت 6 مبحث Minimal Api ها قرارداده است که برای استفاده از آنها دیگر نیازی نیست یک کنترلر جداگانه ایجاد کرد. 

در واقع میتوان گفت بزرگترین تفاوت Normal Api و Minimal Api این می باشد که Minimal Api ها نیازی به کنترلر جداگانه ندارند و به راحتی و در چند خط کد ساده می توان به یک مسیر دسترسی پیدا کرد.

 

برخی از قابلیت های استفاده از Minimal Api ها

در ادامه برخی از قابلیت های Minimal Api ها را میگیم:

  • نکته اول اینکه Minimal Api ها جایگزین Normal Api ها نیستن و کماکان برای کارهای بزرگ و حرفه ای و API هایی که نیاز به سطوح دسترسی و ... دارن از همون API های سابق باید استفاده کنید.
  • سرعت دسترسی اطلاعات در Minimal Api ها بیشتر از Normal Api ها می باشد. به طور متوسط در یک شرایط یکسان در هر ثانیه 2000 درخواست می توان توسط در Normal Api ارسال کرد در حالی که در Minimal Api ها این درخواست ها به حدود 24000 میرسد.
  • استفاده از Minimal Api ها بسیار ساده می باشد. اما این سادگی برای دستورات ساده است و در صورتی که پیچیدگی هایی در دستورات وجود داشته باشد ممکن است بسیار پیچیده و غیرقابل فهم شود. بنابراین دقت کنید برای انجام امور و درخواست های ساده از این مدل Api ها استفاده کنید.
  • در Minimal Api ها هم می توان Routing و Action و ... تعریف کرد ولی همه این موارد در یک خط قابل تعریف می باشد.
  • می شه گفت Minimal Api ها کاربردی شبیه به میکروسرویس ها رو دارن و برای ارائه خدمات و سرویس های کوچک بسیار مناسب می باشد.

 

آموزش ایجاد و کار با Minimal Api ها در Asp.net Core 6

یک پروژه از نوع Asp.net Core Web Api Empty در ویژوال استودیو 2022 ایجاد کنید.

ایجاد minimal web api

در فرم Additional Information تیک Use Controller رو بردارید چون نیازی به کنترلر برای کار با Minimal Api ها نداریم. سپس روی دکمه Create کلیک کنید.

آموزش core 6

در کلاس Program.cs کدها رو به شکل زیر بنویسید. 

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.MapGet("/", () =>
{
    return "Hello Hello";
});
app.MapPost("/", () =>
{
    return Results.Ok("Call Post API");
});
app.MapPut("/", () =>
{
    return Results.Ok("Call Put API");
});
app.MapDelete("/", () =>
{
    return Results.Ok("Call Delete API");
});

app.Run();

خب حالا اگر پروژه رو Run کنید می بینید که توسط swagger می تونید به minimal api ها دسترسی داشته باشید. در کدهای بالا متدهای Post و Put و Delete و Get استفاده شده ولی بخاطر اینکه بتونم ساده تر بهتون نمایشش بدم دستورات رو توش ننوشتم.

تفاوت Asp.net Core 5 و Asp.net Core 6

دوره آموزشی رایگان عملیات CRUD در Minimal Api ها در دات نت 6

ویرایش شده در یکشنبه 6 شهریور 1401 ساعت 19:26:44
به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود