在ASP.NET Core中,可以通过使用路由属性来定义Web API控制器和操作的路由模板。当您需要多个具有相同Http动词的操作时,可以使用路由属性来区分它们的路由。
例如,假设您有一个名为“Items”的控制器,其中包含两个HttpGet操作,一个用于检索单个项目,一个用于检索所有项目。您可以使用不同的路由属性来定义它们的路由模板。以下是示例代码:
[ApiController]
[Route("api/[controller]")]
public class ItemsController : ControllerBase
{
// GET api/items
[HttpGet]
public ActionResult> GetAllItems()
{
// Retrieve all items logic
}
// GET api/items/{id}
[HttpGet("{id}")]
public ActionResult- GetItemById(int id)
{
// Retrieve an item logic
}
}
在上面的示例中,使用HttpGet属性定义两个操作的路由,一个不带参数,一个带有一个名为“id”的参数。这使得您可以从URL中区分它们并使用不同的路由模板。