gpt4 book ai didi

c# - ASP.NET Core 防止 api 路由的 spa 回退路由

转载 作者:行者123 更新时间:2023-12-04 17:32:55 25 4
gpt4 key购买 nike

我的前端有一个带有 Vue.js 的 ASP.NET Core 2.2 应用程序。在我的启动中,我有以下路线:

        app.UseMvc(routes =>
{
routes.MapRoute(
name: "mvc",
template: "{controller=Home}/{action=Index}/{id?}");
// TODO: When api route doesn't exists it goes into the spa-fallkback route. We need to prevent this.
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" });
});

问题出在我的 API 路由上。当API URL存在时我们没有问题,但当URL不存在时,它会转到 spa-fallback路线。

有没有办法设置路由,以便当 URL 以 /api/ 开头时并且没有找到路线,它返回 404 而不是 spa-fallback?

最佳答案

您始终可以手动创建一个包罗万象的操作:

public class HomeController : Controller
{
// SPA Fallback
public IActionResult Index()
{
return View();
}

// Disable all other /api/* routes.
[Route("/api/{**rest}")]
public IActionResult Api()
{
return NotFound("");
}
}

关于c# - ASP.NET Core 防止 api 路由的 spa 回退路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57920908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com