C# 如何定义asp.net核心应用程序的基本url
我有一个ASP.NET Core 3.1.0 web应用程序,我正在努力理解ASP.NET Core公开的url 我只有一个控制器C# 如何定义asp.net核心应用程序的基本url,c#,asp.net-core,base-url,C#,Asp.net Core,Base Url,我有一个ASP.NET Core 3.1.0 web应用程序,我正在努力理解ASP.NET Core公开的url 我只有一个控制器 [Route("accounts")] public class AccountsController : BaseController { public AccountsController() { } [HttpGet("{test}")] public string Defaul
[Route("accounts")]
public class AccountsController : BaseController
{
public AccountsController()
{
}
[HttpGet("{test}")]
public string DefaultMethod()
{
return "Hello";
}
}
在我的Startup.cs中,我使用UsePathBase作为
app.UsePathBase("/account-api");
当我启动应用程序时,我可以按以下方式访问该方法:
http://localhost:5000/account-api/账户/测试,一切正常
但我也可以通过http://localhost:5000/accounts/test 我想限制一下
如何限制此操作?尝试此操作
app.UseMvc(路由=>
{
routes.MapRoute(
名称:“默认”,
模板:“帐户api/{controller}/{action}/{id?}”);
});
你可能想用[Route(“account api/[controller]”)装饰你的控制器来限制我使用的是Web api模板,没有MVC,所以我不认为应该在我的情况下使用它为什么不呢?在WebAPI中使用MVC模型完全可以。但是你也有app.UseRouter
选项。而不是使用MVC@BhavikSutharI已将此标记为已回答,但选择了app.UseRouter,因为UseMVC在代码库中给出了错误的印象