C#Core Web API控制器可选数组默认值

我有一个带有方法GetAll的控制器,该方法的所有参数都是可选的(具有默认值)。概念是使以下任何请求均有效:


/crm/contacts

/crm/contacts?sort=created_by

/crm/contacts?search=My%20Customer

/crm/contacts?sort=created_by&take=100

/crm/contacts?from=10&take=100

/crm/contacts?search=My%20Customer&sort=created_by&take=100

代码:


[HttpGet]

[Route("")]

public async Task<DTO.CRM.contact[]> GetAllAsync(

     int? from = null,

     int? take = 10,

     string search = null,

     string[] sort = null)

{

在调试中,我怀疑sort为null,相反,我将其视为{string [0]}。我在macOS上使用dotnet core 2.1.4。


如果未通过url传递,我如何才能获得真正为null的排序?


森林海
浏览 185回答 1
1回答

喵喔喔

如果确实让您感到厌烦,则可以编写自定义活页夹。但是,这可能不值得,我建议您确保代码安全-确保它处理null具有空字符串或空字符串的,空数组和非空数组。
打开App,查看更多内容
随时随地看视频慕课网APP