我有一个带有方法GetAll的控制器,其中所有params都是可选的(带有默认值)。概念是使任何这些请求都是有效的:
/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)
{在调试中,我怀疑排序为null,相反,我将其视为{string}。我在macOS上使用了DotNetCore2.1.4。
如果未在url中传递排序,如何获得真正为空的排序?
发布于 2018-04-30 15:52:28
如果确实有问题,可以编写一个定制粘合剂。但是,这可能不值得,我建议您保持代码的安全性--确保它处理带空或空字符串的null、空数组和非空数组。
https://stackoverflow.com/questions/50103482
复制相似问题