Я хочу предоставить свое приложение Angular через root маршрут /
и REST API через /api/*
. Для маршрутизации Angular я должен перенаправить все запросы в /index.html, кроме запросов на существующие файлы (например, мультимедийные файлы) и маршруты моего контроллера API.
С Startup.cs
ниже он близок к работе:
Следующее не работает: обновление или открытие напрямую http://localhost: 5000 / home приведет к 404. Я думаю, /home
не перенаправляется на индекс . html. Что мне здесь не хватает?
public class Startup
{
private readonly IWebHostEnvironment _webHostEnvironment;
public Startup(IWebHostEnvironment webHostEnvironment)
{
_webHostEnvironment = webHostEnvironment;
}
public void ConfigureServices(IServiceCollection services)
{
services.AddSpaStaticFiles(options =>
{
options.RootPath = "wwwroot";
});
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseDefaultFiles();
app.UseSpaStaticFiles();
app.UseCors();
app.UseSwagger();
app.UseSwaggerUI(c => { /*...*/ });
app.UseRouting();
app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
}
}