【发布时间】:2019-11-19 13:20:42
【问题描述】:
我在 Asp.Net Core 2.2 中有一个 GET 端点,我想默认返回所有记录,如果提供了任何查询,那么我将返回一个搜索查询响应。在这里,即使没有提供查询参数,我的查询 Dto 也永远不会为空。当没有提供查询参数时,我想保持 Dto 为空。
我的请求 Dto-
public sealed class SearchQueryDto
{
public SearchQueryDto()
{
Limit = 10;
Offset = 0;
}
public string Query { get; set; }
public string PhoneNumber { get; set; }
public string ClassificationId { get; set; }
public int Offset { get; set; }
public int Limit { get; set; }
}
我的端点-
[HttpGet]
public async Task<IActionResult> GetAllRecords([FromQuery] [CanBeNull] SearchQueryDto request)
{
if (request != null) // always not null
{
return Ok(await _service.Search(request));
}
return Ok(await _service.GetAll());
}
在这里,当没有提供查询参数但它总是显示为已初始化时,我期望请求为空。
【问题讨论】:
-
你们如何提供搜索参数?
-
只是一个猜测,你是否有机会发送带有空值的 json 而不是发送 null
-
@ChetanRanpariya 调用 like- api/product/getall 和 api/product/getall?Query=sample&Limit=100&Offset=0
标签: c# asp.net-core asp.net-core-webapi