问题标签 [nswag]

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 投票
3 回答
4587 浏览

nswag - NSwag 多文档端点

有可能像 swashbuckle 那样有多个文档端点吗?

如果是,如何装饰 api 调用,使一些属于一个版本,一些属于另一个版本?

所以根据 Rico Suter 的建议,我所做的有点像这样:

ApiVersionAttribute.cs

MyApiVersionProcessor.cs

在我的 Global.asax

并用我的控制器方法装饰

等等

0 投票
4 回答
3847 浏览

nswag - 模型名称中的 NSwag 命名空间

是否可以生成客户端代码,以便模型的类名具有完整的命名空间作为前缀?

那应该避免相同的类名冲突。

例子

到目前为止,我得到的是MyClassMyClass2这并没有多大意义。

最好有,以防名称冲突,ComFooMyClass并且ItFooMyClass.

0 投票
0 回答
824 浏览

owin - Swagger-UI 的基本身份验证无法正常工作

我已经使用 NSwag 在我的 ASP.NET 项目中设置了 Swagger,它工作正常,但我正在尝试添加对身份验证的支持。

我的身份验证模型是一个简单的用户名/密码,使用OAuthusingApplicationOAuthProvider

我用来登录的网址如下

/令牌

使用 POST 参数:

grant_type=密码&用户名=${用户名}&密码=${密码}

现在我 [in Global.asax] 的招摇设置是

我知道这有点混乱,但我确实在尝试所有可能的选择来让它发挥作用。

所以这实际上给了我授权按钮和用户名和密码字段。但是当我单击登录时,它会刷新 swagger.json 但实际上并没有尝试在任何地方登录?

0 投票
1 回答
3462 浏览

c# - Swagger/NSwag:重新定义参数类型

我们正在使用 swagger / nswag 来记录 webapi 项目。

作为ActionMethods 的BodyParameters,我们使用带有后缀Command 的类,其中包含用于创建持久在数据库中的Domain-Object 的参数。

命令类可能如下所示:

Position 是一个简单的 int,而 Parent 是一个保存在数据库中的域类。可能看起来像这样:

它可以通过其 ID 从数据库中加载,因此我们只需将 id 作为参数传递给 Json 中的命令参数,如下所示:

反序列化 Json 时,父级通过 Dao 由其 Id 加载。现在的问题是,swagger/nswag 不理解“魔术”并显示方法的参数,如下所示:

有什么方法可以告诉 swagger 替换父类型的类型,使其看起来像这样:

0 投票
3 回答
1449 浏览

c# - ASP NET 样板 > 使用 swagger 代码生成工具 (nswag) 生成 C# swagger 客户端不起作用

我尝试为我使用 ASP Net Boilerplate 创建的 API 生成 c# 代码,但响应没有正确反序列化。

经调查,似乎 json 响应是使用名为“AjaxResponse”的类包装的;但是,swagger.json 在方法响应中不包含这种类型。

有谁知道如何构建一个解释包装结果的 C# Swagger 客户端?

0 投票
1 回答
4399 浏览

c# - C# 如何使用 NSwag 处理多态模型

我有一个多态模型:

根据文档使用 NSwag (NSwag.AspNetCore),我希望这足以让文档指示/包含订单项目类型?但不是...

在此处输入图像描述

我是否完全错过了 NSwag 的要求?我有 OrderItemType 属性。我需要让歧视者参与进来吗?这是在哪里记录的?

TIA

0 投票
0 回答
933 浏览

c# - Post FromBody 在没有斜杠的情况下无法正常工作

我有一个 ASP.Net Core 2.0 Web API 项目,它利用 NSwag 来获得 Swagger 功能。问题是当我使用 SwaggerUI 测试 API 时,FromBody 参数不起作用。但是,当我使用 Postman 并为标题选择相同的正文和 application/json 时(如在 SwaggerUi 中),一切正常。
在调试器中,我注意到来自 Postman 的请求有一个斜杠,而来自 SwaggerUi 的请求没有。

这是控制器的操作:

邮递员 -> 项目已填满
SwaggerUi -> 项目为空


我尝试在 Startup 的默认路由中添加一个斜杠

没有成功,也

在 Startup.ConfigureServices 中没有成功,这意味着请求仍然没有通过 SwaggerUi 的尾部斜杠。


如何强制使用斜杠,或者我可以做其他事情来确保 FromBody 参数正常工作?

0 投票
4 回答
7841 浏览

asp.net-core - 在 NSwag SwaggerUi 中实现 JwtBearer 身份验证

在我的 asp.net core 2.0 解决方案中,我想添加 Azure AD 身份验证。使用 VS 2017 中的 Azure AD 模板,您可以获得 JWTBearer 身份验证实施或 OpenIdConnect 实施。Open Id 还享有比 OAuth 更安​​全的美誉。

如何将 Open ID / JWT 与 NSwag 提供的 Swagger Ui 一起使用?

我目前的解决方法是同时允许 OAuth 和 Open Id,但我需要自己实现,而且几乎没有关于新 2.0 API 的文档。拥有两个身份验证工作流程也不太安全。尤其是当一个人不如另一个人安全时。

0 投票
1 回答
3718 浏览

nswag - NSwag 生成重复类型

我正在使用 NSwag SwaggerToCSharpClientGenerator 生成请求和响应类和枚举。

我有一些 Web API 方法与参数或请求对象共享相同的枚举。当我运行 NSwag API 时,它多次生成相同的枚举定义,但命名为 Enum1、Enum2、Enum3、ResponseClassEnum。

我可以配置 NSwag(或 Swashbuckle)以便只生成一个枚举吗?

我的 NSwag 代码如下所示:

我在这里放了混淆的 swagger.json - https://pastebin.com/hT5ySZub

从混淆的 swagger.json 生成的输出在这里 - https://pastebin.com/e0AYJWer 在输出中,类型 DupEnum 定义在以下类型中:DupEnum、DupEnum2、DupEnum3 和 TypeBDupEnum。

0 投票
1 回答
1985 浏览

swagger - 使用 NSwag 生成多个 Typescript 文件

我刚刚开始研究使用 NSwag 为 WebAPI 项目自动生成打字稿客户端。我天真地从这个简单的构建步骤开始:

这很好用……也许太棒了。我现在有一个 17000 行的打字稿文件,其中包含 API 中每个端点的客户端。

我知道我可以为 nswag 指定单独的类或控制器来生成,但我希望它对于新控制器来说是自动的,因为我们继续构建系统。理想情况下,最好使用一组打字稿文件,其中每个文件代表一个控制器。

有谁知道我如何使用命令行工具以这种方式分解输出?