我正在使用 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
正如您所看到的,过滤器类型在括号中指定。这是应使用的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();
}