Хочу написать Asp.Net Core SPA.
Стоит стандартная настройка роутинга.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error"); //ToDo: do it better
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseSpaStaticFiles();
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseReactDevelopmentServer(npmScript: "start");
}
});
}
Но беда в том, что он в том числе и /api запросы роутит на главную страницу index.html вместо отправки json-ответа. Как и где можно подправить роутинг, чтобы перенаправление было стандартным, за исключением /api?
Сами API-контроллеры описываются примерно так:
[Route("api/[controller]")]
[ApiController]
public class AccountController : ControllerBase
{
//actions here
}
С такими контроллером и методом
[Route("api/[controller]")]
[ApiController]
public class AccountController : ControllerBase
{
[HttpPost("[action]")]
public async Task<IActionResult> Auth([FromBody] TokenRequest tokenRequest)
{
var token = await GetToken(tokenRequest.Login, tokenReques
Адрес метода будет выглядеть вот так api/account/auth
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости