همونطور که می دونید در Asp.net core 6 مبحث API ها تفاوتهایی داشتن و Minimal Api ها اضافه شده. لطفا توضیح بدید:
قبل از معرفی دات نت 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 ها را میگیم:
یک پروژه از نوع Asp.net Core Web Api Empty در ویژوال استودیو 2022 ایجاد کنید.
در فرم Additional Information تیک Use Controller رو بردارید چون نیازی به کنترلر برای کار با Minimal Api ها نداریم. سپس روی دکمه Create کلیک کنید.
در کلاس 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
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1314
- پاسخ :
0
|
تاریخ :
1403/12/01
- ساعت :
01:07:00 PM
- بازدید :
175
- پاسخ :
0
|
تاریخ :
1403/12/26
- ساعت :
03:04:00 PM
- بازدید :
69
- پاسخ :
1
|
تاریخ :
1403/12/23
- ساعت :
11:21:00 AM
- بازدید :
157
- پاسخ :
1
|
تاریخ :
1399/09/20
- ساعت :
01:21:00 PM
- بازدید :
6831
- پاسخ :
1
|
تاریخ :
1403/12/22
- ساعت :
11:05:00 AM
- بازدید :
187
- پاسخ :
1
|
تاریخ :
1403/12/19
- ساعت :
11:21:00 PM
- بازدید :
75
- پاسخ :
1
|
تاریخ :
1403/12/18
- ساعت :
07:24:00 PM
- بازدید :
106
- پاسخ :
1
|
تاریخ :
1398/09/06
- ساعت :
09:06:00 PM
- بازدید :
3426
- پاسخ :
1
|
تاریخ :
1399/12/15
- ساعت :
08:08:00 PM
- بازدید :
3582
- پاسخ :
1
|
تاریخ :
1404/01/07
- ساعت :
05:02:00 AM
- بازدید :
89
- پاسخ :
1
|
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1314
- پاسخ :
0
|
تاریخ :
1403/12/30
- ساعت :
06:43:00 PM
- بازدید :
66
- پاسخ :
1
|
تاریخ :
1398/08/23
- ساعت :
09:16:00 PM
- بازدید :
9852
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
12:18:00 PM
- بازدید :
38
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
10:39:00 AM
- بازدید :
45
- پاسخ :
1
|
تاریخ :
1404/01/02
- ساعت :
05:05:00 PM
- بازدید :
60
- پاسخ :
1
|
تاریخ :
1403/12/30
- ساعت :
06:52:00 PM
- بازدید :
48
- پاسخ :
1
|
تاریخ :
1399/06/04
- ساعت :
02:25:00 PM
- بازدید :
4419
- پاسخ :
2
|
تاریخ :
1403/11/30
- ساعت :
10:36:00 AM
- بازدید :
202
- پاسخ :
2
|