我已经使用NSwag一段时间来为我的WebAPI生成一个Angular TS客户端,我喜欢它.
我终于从NSwagStudio转向使用MSBuild目标来自动生成我的json规范.
我看到有一种生成specs的新方法AspNetCoreToSwaggerGenerator,它使用ASP.NET Core API Explorer服务.
该文件规定:
此生成器使用ASP.NET Core API Explorer服务生成规范,并最终取代基于反射的生成器WebApiToSwaggerGenerator.建议将此生成器用于新项目,并开始迁移现有项目.
所以我觉得很好,我会用它.但是我突然遇到一些关于丢失路径的错误,结果是来自我的startup.cs文件.我认为这很奇怪,直到我意识到它实际上是在启动我的Startup类的一个实例并运行代码 - 如果它正在使用API Explorer,那就有意义了.
然而,这让我感到非常危险(如果我在启动时做了一些奇怪的编码),但如果它运行了很多启动代码,也可能会更慢.
我改用这样的旧版本WebApiToSwaggerGenerator:
<Target Name="NSwag" AfterTargets="Build">
<Copy SourceFiles="@(Reference)" DestinationFolder="$(OutDir)References" />
<Exec Command="$(NSwagExe_Core21) webapi2swagger /assembly:$(OutDir)RR.API.DLL /output:rrapi.json" />
<RemoveDir Directories="$(OutDir)References" />
</Target>
Run Code Online (Sandbox Code Playgroud)
这会生成一个rrapi.json文件,然后我可以在我的Angular构建中运行以实际创建客户端.它似乎很快,效果很好.
所以我不知道最新的做法和新的好处是什么AspNetCoreToSwaggerGenerator.特别是:
我基本上想要每次构建我的WebAPI客户端时生成一个静态.json文件.我现在没有看到任何理由不使用旧发电机.
| 归档时间: |
|
| 查看次数: |
978 次 |
| 最近记录: |