taylorswiftfan
taylorswiftfan

Reputation: 1517

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;
}

I have an API above that I would like to configure the route to be as above. I struggle to find an answer around Route parameter specification where there is a question mark.

What should go into the Route(...) value?

Thank you.

Upvotes: 0

Views: 100

Answers (1)

Rena
Rena

Reputation: 36595

Just use the Route like below, the query string in request url will match the parameter in action by default, no need add the query string as Route parameter:

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

Upvotes: 1

Related Questions