可选路由参数

Optional route parameters

    [Route("v2/Actual")]
    [HttpGet]
    public async Task<IEnumerable<MeasurementActualAggregatedResultViewModel>> GetActualsWithHierarchy(int calendarStartYear = 0, int calendarEndYear = 0, string managementSystem = "amspe")
    {
    
      var result = ...
    
      return result;
    } 



 // I want to make this recognise ....v2/Actual?measurementId=1&calendarMonth=12&calendarYear=2020
[Route("v2/Actual{measurementId}{calendarMonth}{calendarYear}")]     
[HttpGet]
public async Task<MeasurementActualAggregatedResultViewModel> GetActual(int measurementId, int calendarMonth, int calendarYear)
{
    return null;
}

我上面有一个API,我想将路由配置为如上。我很难在有问号的地方找到有关路由参数规范的答案。

Route(...) 值中应包含哪些内容?

谢谢。

直接使用如下Route,requesturl中的查询字符串默认匹配action中的参数,无需添加查询字符串作为Route参数:

[Route("v2/Actual")]     
[HttpGet]
public async Task<MeasurementActualAggregatedResultViewModel> GetActual(int measurementId, int calendarMonth, int calendarYear)
{
    return null;
}