Как добавить API в проект с Razor Pages на ASP.NET Core
Сайтостроение | создано: 27.02.2022 | опубликовано: 27.02.2022 | обновлено: 13.01.2024 | просмотров: 2960 | всего комментариев: 1
Речь пойдет про шаблон для Visual Studio 2022, который называется "ASP.NET Core Web App". Используем NET 6.0.
Шаблон
Если вы создаете новый проект на ASP.NET Core и выбираете шаблон "ASP.NET Core Web App", то добавить API-контроллеры придется добавлять "вручную".
После создания проекта, нужно добавить совсем не много кода, что бы у вас заработал API как дополнение к страницам Razor.
Добавляем код API
Файл Program.cs, который сгенерировала Visual Studio, нужно обновить. Было так:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
Должно стать так:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints => {
endpoints.MapRazorPages();
endpoints.MapControllerRoute("default", "api/{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllers();
});
app.Run();
Даже никаких сборок не придется ставить. Вот так просто!
Комментарии к статье (1)
Спасибо.
Пригодилось. Добавил себе в копилку.