我使用的是ASP.NET Core 6.0,我需要创建一个API终结点来处理必须始终提供的两个修复参数和一个可选筛选器参数列表:
https://<host>/api/article/GetArticles?pageId=123&filterId=234&filter[category]=1,2&filter[author]=12&filter[year]=2023
如您所见,筛选器类型在方括号中指定.这是应该使用的filter standard defined in JSON:API美元.但是,控制器中的端点需要如何定义才能支持它呢?
当然,这不起作用(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();
}