问题标签 [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 投票
1 回答
1086 浏览

swagger - Swagger 为自定义 Restful API (C#.NET) 生成定义

我正在尝试将 swagger 用于我的 RESTful api(.net 和 c#)。它是一个自定义的 restful api(不是 ASP.NET Web API 也不是 Web 应用程序)。

我正在使用 NSwag ( https://github.com/NSwag/NSwag ),它有 NSwagStudio 来生成规范,但没有成功,因为它没有指定方法。有没有其他方法可以做到这一点?如何让 swagger 了解我对操作的自定义属性?

0 投票
2 回答
1519 浏览

msbuild - MSBuild,如何从 .csproj 获取所有项目引用

我可以在 msbuild 命令中使用任何变量或属性来从 .csproj 获取所有项目引用吗?

编辑:对不起我的不精确。我有项目 A,其中有对项目 B、C、D 的项目引用。我需要知道的是该项目的 dll 在哪里,以便在我的构建后任务中使用它们。这是我现在所拥有的:

(@(ProjectReference) 收集项目 A 中的所有项目引用(B、C、D)。)

($(TargetPath) 是项目 A 的 dll 路径)

我的问题是:这个解决方案是否会再次构建这些 dll,或者它会因为它们已经构建而跳过构建过程?

0 投票
0 回答
393 浏览

.net - 运行时出现 T4 错误,但调试时没有

我正在尝试.tt使用 NSwag 编写文件,当我运行自定义工具时,出现此错误:

运行转换:System.IO.FileNotFoundException:无法加载文件或程序集“NSwag.CodeGeneration,版本=6.6.6124.16498,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。文件名:'NSwag.CodeGeneration,版本=6.6.6124.16498,Culture=neutral,PublicKeyToken=null'

在 [0] 处重新抛出异常:在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)在 NSwag.CodeGeneration
的 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 。 SwaggerGenerators.WebApi.WebApiAssemblyToSwaggerGenerator.WebApiAssemblyLoader.GenerateForController(String controllerClassName, String settingsData) 在 NSwag.CodeGeneration.SwaggerGenerators.WebApi.WebApiAssemblyToSwaggerGenerator.GenerateForController(String controllerClassName) 在 C:\projects\nswag\src\NSwag.AssemblyLoader\SwaggerGenerators\WebApi WebApiAssemblyToSwaggerGenerator.cs:第 59 行


但是,当我调试模板时,我没有。它运行正确。

为什么 T4 模板会以调试方式运行,但不能正常运行?

这是我尝试过的:

  • 确保文件(和相关文件)未设置为Read-Only.
  • 检查.dll文件的安全设置。ALL APPLICATION PACKAGES现在Users拥有完全控制权。
  • 尝试将 DLL 移动到C:\Temp\

还是不行。

(这不是关于 FileNotFoundException 的问题,我明白这意味着什么。)

这是我的.tt文件的开头:

0 投票
3 回答
14593 浏览

.net - 如何在请求标头上调用需要不记名令牌的 NSwag 客户端方法?

我没有确切地了解 NSwag 如何与 IdentityServerX 不记名令牌交互并按常规方式添加它的请求标头?据我了解,我的主机 api 应用程序使用 LDAP 身份验证实现 IdentityServer3;如果任何主机需要令牌进行身份验证,那么任何客户端都必须在请求标头上发送它。那么在为 NSwag 客户工作时我该如何处理呢?

任何想法表示赞赏。谢谢。

0 投票
2 回答
4652 浏览

asp.net-web-api2 - NSwag 不适用于 ASP.NET Web API 2 和 OWIN。刚收到404

我正在尝试使用 OWIN 在新的 Web API 项目上设置 NSwag,但没有成功。我想知道文档是否没有提及某些内容,或者我错过了一步。我正在按照Middlewares Wiki的说明进行操作,但是当我加载默认的 swagger 端点时,我只会得到 404。

我需要做些什么来生成应该在那个位置的内容吗?我一直假设中间件可以处理这个问题。

NSwag 是否要求 MVC 成为您项目的一部分?它可以在仅是 Web API 的应用程序中工作吗?

我已经检查了示例项目,但它们都没有将 OWIN 与 ASP.NET Web API 2 一起使用。只有一个 global.asax 示例和一个 .Net Core 示例。

如果你愿意,你可以很容易地重现我的问题。只需使用OWIN Web API Starter Template创建一个新的 ASP.NET Web 应用程序,然后从Middlewares Wiki执行设置。(当您创建一个新项目时,“添加新项目”向导底部附近有一个链接:单击此处联机并查找模板。单击该链接并搜索“OWIN Web API Starter Template”。

如果我应该提供更多细节,请告诉我。除了发布一堆代码之外,该启动项目应该允许您在 5-10 分钟内重现我的问题。

谢谢!

0 投票
2 回答
4844 浏览

javascript - 无法设置未定义的属性“baseUrl”

我使用来自 ASP .NET Rest API 的 NSWAG 生成了一个 javascript 客户端。但是当我尝试调用 API 方法时,我发现了一些错误。

原因中的错误是:TypeError:无法设置未定义的属性“baseUrl”。

在我的角度代码中,我正在做:

我已经调试了应用程序,它进入了函数 AuthClient,我也尝试将其更改为此,但问题仍然存在:

我也收到这个错误:Uncaught ReferenceError: exports is not defined我不知道它是否与它有关。如果不只是忽略。

错误跟踪:

0 投票
1 回答
216 浏览

code-generation - 合并来自多个 JSON 模式文件的公共输出

我有许多 JSON 模式文件,并使用 NSwagStudio 生成 C# 客户端类

它自己的每个输出都可以正常工作,但不幸的是每个 json 文件中都有一些共同的元素

反正有没有自动合并输出?

...我可以手动编辑各种 .cs 文件,但我希望这个过程成为自动构建的一部分

0 投票
0 回答
1442 浏览

asp.net-web-api - 处理 Web API 中的枚举标志的最佳方法是什么

我在 Web API 上使用了一些标志枚举,到目前为止,我所看到的只是更改作为数组传递的标志的组合值。

有没有办法以更 .NET/C# 友好的方式声明它?也许使用collectionFormat=csv.

编辑 1

想象一下我有这个枚举:

这个 C# 方法将作为 API 公开:

因为该参数有多个值,所以它应该是一个,array但如果我可以构建一个collectionFormat设置为的 swagger 规范,就 swagger 而言csv,它可以是一个arrayC#/CLR 中的普通旧标志枚举。

这可能吗?

编辑 2

使用服务堆栈(正如使用它的人告诉我的那样)是这样的:

0 投票
1 回答
345 浏览

c# - 从不同的 swagger 文件生成代码时如何重用类型

我拥有多个由多个 swagger 文档描述的休息服务。

这些服务共享一些常见的 DTO 类。目前,常见的 DTO 类都包含在每个 swagger 文档的定义中。

我想从 swagger 文档中生成客户端 C# 代码,这样就不会多次生成公共类。

0 投票
1 回答
504 浏览

c# - 无法在 NSwagStudio 中加载 .Net Core Web API 程序集

我似乎在 NSwagStudio 中加载 .Net Core Web API 程序集时遇到问题。我的项目中有一个“Microsoft.AspNetCore.Mvc (1.1.2)”的参考包(NuGet),但这似乎破坏了 NSwagStudio 上的加载过程。

看这个例子:

在此处输入图像描述

我正在使用 VS 2017,该项目正在运行 .Net Core 1.1 版。我还尝试执行以下操作:

https://github.com/NSwag/NSwag/wiki/WebApiAssemblyToSwaggerGenerator

它没有用,任何建议将不胜感激。