如何为 asp.net 核心应用程序定义基础 url

How to define the base url for the asp.net core app

我有一个 ASP.NET 核心 3.1.0 网络应用程序,我正在努力理解 asp.net 核心公开的 url。

我只有一个控制器

[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/accounts/test 没问题

但我也可以通过我想限制的 http://localhost:5000/accounts/test 访问它。

我该如何限制它?

试试这个

         app.UseMvc(routes =>
         {
            routes.MapRoute(
               name: "default",
               template: "account-api/{controller}/{action}/{id?}");
         });