【发布时间】:2020-06-13 17:54:59
【问题描述】:
假设我将制作以下 REST API:
https://somedomain.com/api/Companies/{cid}
https://somedomain.com/api/Companies/{cid}/Employees/{eid}
https://somedomain.com/api/Companies/{cid}/Products/{pid}
在上述情况下,我需要路由(Route() 属性)可扩展,以便形成路由层次结构。我尝试了不同的方法,但它们似乎都不像样。任何人都可以就我如何实现routing inheritance 给我一些建议...
[Route("api/CompaniesController/{cid}")]
[ApiController]
public class CompaniesController : ControllerBase
{
}
[Route("Employees/{eid}")]
public class EmployeesController: CompaniesController
{
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
[Route("Products/{pid}")]
public class ProductsController: CompaniesController
{
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
【问题讨论】:
标签: c# .net-core routes asp.net-core-mvc asp.net-core-webapi