问题描述
我们正在使用.net核心WebAPI后端,并使用nSwag生成要在前端中使用的TypeScript代理。这是后端/ C#代码:
=MAX($A$2:$F$2)
和控制器方法
\*
为“ save”方法生成的TypeScript如下所示:
public class MyDto
{
public MyDto() { }
public int Id { get; set; }
public int? OtherObject { get; set; }
}
我实际上有两个问题:
- 为什么对 OtherObject 参数进行空检查?对我来说,这没有任何意义,因为DTO中的字段可以为空。
- 更重要的是:如何让nSwag不将空值检入?
解决方法
我相信,您想要实现的目标不是摆脱null检查本身,而是躲开它。在我看来nswag生成了代码。这里清楚地描述了它:
else if (oid !== undefined)
url_ += "Oid=" + encodeURIComponent("" + oid) + "&";
...
else if (otherObject !== undefined)else if (otherObject !== undefined)
url_ += "OtherObject=" + encodeURIComponent("" + otherObject) + "&";
您可能需要做的就是传递未定义而不是null作为参数oid
和otherObject
。
此提示也由创建者本人给出,也可以在此处给出: https://github.com/RicoSuter/NSwag/issues/1067