我的问题是,当我尝试将单个字符串传递给API时,会在API中将其作为空值接收,但是当我尝试将整数传递给另一个控制器时,它可以正常工作,我想这是一个语法问题。下面以两个控制器为例:

[HttpGet("amostra/get/id/{id}")]
public Amostra GetAmostraId(int id) => _amostra.GetById(id);

[HttpGet("amostra/get/cli/{nomeFantasia}")]
public Dictionary<int, Amostra> getByFantasia(string nF) => _amostra.GetByCliente(nF);


第一个可以正常工作,另一个则不能工作,后来在“ GetByCliente(nF)”函数中,我检查了字符串的长度,然后得到了错误:
“ System.NullReferenceException:'对象引用未设置为对象的实例。'”,“ nF为空”。

邮递员的例子

最佳答案

您的变量名称和路由必须匹配。

尝试这个

[HttpGet("amostra/get/cli/{nf}")]
public Dictionary<int, Amostra> getByFantasia(string nF) => _amostra.GetByCliente(nF);

07-28 03:10