使用nSwag生成TypeScript代理:对nullable int进行Null检查

问题描述

我们正在使用.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; }
}

我实际上有两个问题:

  1. 为什么对 OtherObject 参数进行空检查?对我来说,这没有任何意义,因为DTO中的字段可以为空。
  2. 更重要的是:如何让nSwag不将空值检入?

解决方法

我相信,您想要实现的目标不是摆脱null检查本身,而是躲开它。在我看来nswag生成了代码。这里清楚地描述了它:

else if (oid !== undefined)
        url_ += "Oid=" + encodeURIComponent("" + oid) + "&";

...

else if (otherObject !== undefined)else if (otherObject !== undefined)
        url_ += "OtherObject=" + encodeURIComponent("" + otherObject) + "&";

您可能需要做的就是传递未定义而不是null作为参数oidotherObject

此提示也由创建者本人给出,也可以在此处给出: https://github.com/RicoSuter/NSwag/issues/1067

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...