在C#中定义路由规则可以使用ASP.NET Core中的路由特性来实现。要定义路由规则,可以在控制器类或者方法上使用Route特性来指定路由模板。
以下是在C#控制器中定义路由规则的示例代码:
[Route("api/[controller]")]
[ApiController]
public class SampleController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
// Your logic here
}
[HttpGet("{id}")]
public IActionResult GetById(int id)
{
// Your logic here
}
[HttpPost]
public IActionResult Post([FromBody] SampleModel model)
{
// Your logic here
}
}
在上面的示例中,使用Route特性指定了控制器的路由模板为"api/[controller]",这意味着该控制器的路由将会以"api/"开头,然后是控制器的名称。
在Get、GetById和Post方法上也分别使用了Route特性来指定具体的路由模板。例如,GetById方法的路由模板为"{id}“,这意味着该方法的路由将会以控制器的路由模板加上”/{id}"的形式。
通过在控制器类和方法上使用Route特性,可以灵活地定义路由规则,以满足不同的需求。