0

我正在尝试在支持 ASP 的 Blazor Web 应用程序中添加一个 swagger 端点作为连接服务。

我已经尝试了很多,我将列出一些可能有助于解决问题的事情:

这是端点网址:https ://lcd.terra.dev/swagger-ui/swagger.yaml

在 Visual Studio 中,我首先转到连接服务并添加连接服务 > OpenAPI。我粘贴 URL,一切似乎都正常,直到我构建导致此错误:

错误 MSB3073 命令 ""C:\Users\MYNAME\.nuget\packages\nswag.msbuild\13.0.5\build\../tools/Win/NSwag.exe" openapi2csclient /className:bbbbbb /namespace:aaaaaaa /input:F:\src\WebApplication1\Server\OpenAPIs\swagger.yaml /output:obj\swaggerClient.cs"

以代码 -1 退出。

这对于应用程序的客户端或服务器部分是相同的。并且还带有开放 api 的 uncase 扩展。

生成的将是一个 swagger.yaml 文件(json 文件中有很多 <> 并且看起来像 html/xml ish

我用powershell尝试了这个命令:

PS F:\src\WebApplication1\Server> C:\Users\USERNAME\.nuget\packages\nswag.msbuild\13.0.5\tools\Win/NSwag.exe openapi2csclient /className:vvvvvvvv /namespace:aaaaa /input:F:\src\WebApplication1\Server\OpenAPIs\swagger.yaml /output:obj\swaggerClient.cs NSwag command line tool for .NET 4.6.1+ WinX64, toolchain v13.0.5.0 (NJsonSchema v10.0.22.0 (Newtonsoft.Json v11.0.0.0)) Visit http://NSwag.org for more information. NSwag bin directory: C:\Users\USERNAME\.nuget\packages\nswag.msbuild\13.0.5\tools\Win Newtonsoft.Json.JsonReaderException: Bad JSON escape sequence: \U. Path 'definitions.BaseReq.properties.memo.example', line 1, position 80904.

我安装了 NSwag Studio。尝试生成 csharp 客户端或控制器会产生类似/相同的结果:

Newtonsoft.Json.JsonReaderException: Bad JSON escape sequence: \U. Path 'definitions.BaseReq.properties.memo.example', line 1, position 78847. Runtime: Net50 at Newtonsoft.Json.JsonTextReader.ReadStringIntoBuffer(Char quote)

我还尝试了他们的 (swagger) 用于 asp 和 c# 的在线代码生成器,但它的展位出现了错误。我什至试图挽救产生的错误代码,但没有成功。

我真的很喜欢它作为连接服务出现在我的应用程序中。但其他变体也可以(不涉及手动实现我指定的所有内容......)

这是一个爱好项目,所以我真的很好奇为什么这不起作用。我的印象是,使用 openapi/swagger 简单地使用端点应该没有问题。

对我来说特别突出的一件事是它似乎使用了有趣的 json 版本。

4

0 回答 0