问题标签 [nswagstudio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1855 浏览

swagger-2.0 - 如何使用 NSwagStudio 生成基本认证码?

我正在使用 NSwagStudio 从 Swagger 2.0 JSON 文件生成客户端类/代码。

以前,它用于生成以下身份验证代码:

现在它没有生成上述Authorization标题。我应该在 JSON 文件中进行哪些更改以确保生成的代码具有如上的身份验证代码?

0 投票
1 回答
356 浏览

nswag - 使用 NSwagStudio 时在运行时指定 API Endpoint

我有一个由 NSwagStudio 生成的 API 客户端。我的端点之一的构造函数如下所示:

大约生成了 5 个这样的客户端。显然,对于生产环境,我希望我的 API 端点有所不同。目前我使用编译器提示(#if debug)来设置本地或生产端点。

因为所有 5 个客户端都作为单例注入依赖项,有没有一种简单的方法来配置 BaseUrl 以供所有 5 个客户端使用?我知道我可以在所有 5 个客户端的早期设置 BaseUrl,但我觉得必须有一种更简单的方法来完成它,然后只是复制意大利面。

谢谢!

编辑:在 NSwagStudio 中,我尝试创建一个“配置类”,但无法轻松了解如何使用它或将其应用于此场景。

0 投票
1 回答
572 浏览

nswagstudio - 更改 NSwagStudio 序列化设置以允许 Nulls

有没有办法更改 NSwagStudio 中的设置,以便当 JSON 序列化设置输出为Newtonsoft.Json.Required.AllowNull而不是Newtonsoft.Json.Required.Always

我目前手动更改了属性以允许空值。

我需要它是:

0 投票
0 回答
491 浏览

c# - NSwag 缺少 C# 客户端生成代码的 [Display] 数据注释

我目前正在使用 NSwag Studio 来生成我的 C# 客户端。我打开了“生成数据注释属性”设置,并且似乎适用于 [Required]、[Range] 等数据注释......

但是,我注意到并非所有注释都会生成。生成的客户端中缺少诸如 [Display] 之类的注释,即使它们已添加到模型类中也是如此。例如:

生成以下内容:

缺少 [显示] 注释。这是设计使然,还是我可能遗漏了什么或错误地实现了我的课程?谢谢

0 投票
1 回答
1137 浏览

swagger - nSwag 更改响应类型:“blob”

我有个问题。我正在使用 asp.net core 3 web api。Angular 8 应用程序客户端是使用 nSwag 版本 13.2.1.0 生成的。生成的规范是 Swashbuckle.AspNetCore 5。

我得到的结果是:

如您所见,生成了 responseType: "blob",这对我们的 Angular 应用程序的拦截器不利。有没有办法将响应设置为 application/json?!在我的控制器中,我设置了这样的招摇属性:

0 投票
2 回答
6435 浏览

c# - Swagger C# 枚举生成 - 基础 int 值与原始枚举不匹配

我在我的服务器上创建了一个手动设置整数值的枚举,而不是从 0 开始的默认增量

我的服务器使用 AspNetCore.App 2.2.0 运行。它在 Startup.cs 中使用 swashbuckle aspnetcore 4.0.1 进行配置,以在每次启动服务器时生成一个 swagger json 文件来描述 api。

然后,我使用 NSwag Studio for windows v 13.2.3.0 生成带有该 swagger JSON 文件的 C sharp api 客户端,用于 Xamarin 应用程序。生成的 c sharp api 客户端中生成的枚举如下所示 - 基础整数值与原始枚举不匹配。

这给我的客户端带来了一个问题,因为在某些情况下我需要知道整数值。我正在寻找一种解决方案,每次我想知道客户端的整数值时,我都可以避免编写转换器。

选项 1:我在 NSwag Studio 或 .net 配置中是否缺少一个选项(我的 Startup.Cs 配置在下面供参考),我可以强制生成的枚举获得与原始枚举相同的整数值?

选项 2:或者,如果没有,我的客户端和我的服务器都可以通过共享类库访问相同的原始枚举。有没有办法让生成的 api 客户端使用 apiclient.cs 中的实际原始枚举而不是生成自己的?

参考:

我在 Startup.Cs 中的招摇生成代码的枚举部分看起来像这样

0 投票
0 回答
161 浏览

angular - 扩展点或从 Liquid 模板访问 OpenApiDocument

我们生成的规范扩展(即x-isPrimaryKeyOpenApiDocument需要将它们添加ClassDecorators到我们的 Angular 模型中。

例如,如果是 Pk、Fk 和属性级别权限,我们会进行通信。

我成功地覆盖了File.liquid来自定义生成的模型。

我已经探索了TypeScriptFileTemplateModel但是_documentprivate.

.Liquid感谢您对文件模板变量的可发现性提供任何帮助。

具体来说,是否有能够从任何模板读取 OAS 3 components->以扩展模型生成的扩展点?schemas.Liquid

0 投票
5 回答
3087 浏览

c# - NSwag MSBuild“路径'/api/Account'上的方法'get'被多次注册”

我正在尝试使用 NSwag.MSbuild 生成一个招摇规范,但是当我这样做时,它会向我抛出此消息“路径'/api/Account' 上的方法'get'已注册多次”

现在的问题是我的方法路由较少,如下所示,并带有一些控制器示例

我理解它为什么这样做,但我不明白的是,在 NSwag Studio 中做同样的事情是有效的,我使用的命令$(NSwagExe_Core22) webapi2swagger是否有一个选项,以便它像 Nswag Studio 一样成功生成?

0 投票
1 回答
227 浏览

swagger - Swagger 类型“addressFamily”已经包含“_6”的定义

每次我使用 NSwagStudio 生成一个新的 NSwagProxy.cs 文件时,我都会遇到上述错误。我有 _6 和 _7 的副本。我的开发团队总是需要滚动文件来删除这两行。重复项也在 swagger UI Schema 中。我不确定这个模式是从哪里提取的。我在其他几个人大摇大摆的 UI 中看到了这一点。但找不到任何解决此问题的方法。任何见解将不胜感激。谢谢!

NSwagProject.nswag 文件如下

0 投票
1 回答
633 浏览

angular - 使用 Content-Type multipart/form-data 上传 IFormFile 时缺少内容类型边界

我有这段代码可以将文件上传到 aspnet core Api

还有角码

错误:System.IO.InvalidDataException:缺少内容类型边界。

评论该/* "Content-Type": "multipart/form-data", */行会有所帮助,但由于这是 NswagStudio 生成的代码,我想找到另一个解决方法。

或者如何告诉 NswagStudio 不要生成这个 Content-Type 标头?