如何为ASP.Net Core API路由添加变量前缀?

时间:2019-01-14 14:34:27

标签: asp.net-web-api asp.net-core routes

我有一个ASP.Net Core API Web应用程序。

控制器的定义如下:

[Route("/api/[controller]")]
[ApiController]
 public class ValuesController : ControllerBase
 {
        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<string>> Get()
        {
            return new string[] { "value1", "value2" };
        }
}

我希望能够使用表示客户的可变路径来调用API。例如,我想做这样的事情:

[Route("/[customername]/api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<string>> Get()
        {
            // TODO: Somehow get the value of [customername]?

            return new string[] { "value1", "value2" };
        }
}

这可能吗?

1 个答案:

答案 0 :(得分:1)

只需使用路线参数:

/token