Estou usando o ASP.NET Core 6.0 e preciso criar um endpoint de API que possa lidar com dois parâmetros de correção que devem ser fornecidos sempre e uma lista de parâmetros de filtro opcionais:
https://<host>/api/article/GetArticles?pageId=123&filterId=234&filter[category]=1,2&filter[author]=12&filter[year]=2023
como você pode ver, os tipos de filtro são especificados entre colchetes. Este é o padrão de filtro definido em JSON:API que deve ser utilizado. Mas como o endpoint no controlador precisa ser definido para suportá-lo?
Isso não funciona, é claro ( filter
é null
):
[HttpGet("GetArticles")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<ActionResult<IContent>> GetArticles(
int pageId,
int filterId,
string? filter = null)
{
// TODO ...
return Ok();
}