可以使用路由属性来指定起始和结束的URL,如下所示:
[RoutePrefix("products")]
public class ProductController : Controller
{
[Route("details/{id}")]
public ActionResult Details(int id)
{
// 略
}
[Route("search/{name}")]
public ActionResult Search(string name)
{
// 略
}
}
在这个示例中,ProductController
将以/products
作为URL的开头,并且Details
和Search
操作将以/details
和/search
作为URL的结尾。这可以确保更好的路由约定和代码组织。
另外,你还可以使用Route
属性的更多选项来简化路由规则,例如,约束参数类型、限制可接受的HTTP谓词(例如GET或POST),或者为路由添加其他约束条件。
[Route("products/{id:int}")]
[HttpGet]
public ActionResult Details(int id)
{
// 略
}
在此示例中,我们将路由属性的参数约束为一个整数,而且该路由只接受HTTP GET请求。