asp.net-web-api - Swagger WebApi 在构建时创建 json

标签 asp.net-web-api swagger

有什么方法可以在我的 Web api 的构建任务期间创建 swagger json 吗?我想使用 json 将其输入代码生成器并生成 typescript 定义文件。

非常欢迎任何帮助!

最佳答案

我正在使用Swashbuckle.AspNetCore.Cli(注意:我正在使用.NET Core 3.1) https://github.com/domaindrivendev/Swashbuckle.AspNetCore

添加以下包:

<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0-rc5" />
<PackageReference Include="Swashbuckle.AspNetCore.Newtonsoft" Version="5.3.1" />
<PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="5.3.1" />

接下来,创建一个工具 list :

dotnet new tool-manifest

安装 Swashbuckle CLI 工具并将其添加到本地 list 文件中:

dotnet tool install --version 5.3.1 Swashbuckle.AspNetCore.Cli

现在您可以使用 dotnet 命令生成 swagger.json 文件。例如:

dotnet swagger tofile --output api.json bin/debug/netcoreapp3.1/xxx.yourApi.dll v1

如果您希望在每次构建时生成该文件,请在 csproj 文件中使用 PostBuild 目标。

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
    <Exec Command="dotnet tool restore" />
    <Exec Command="dotnet swagger tofile --output swagger.json $(OutputPath)\$(AssemblyName).dll v1 " />
</Target>

关于asp.net-web-api - Swagger WebApi 在构建时创建 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33283071/

相关文章:

Rest API 为同一资源设计多个 URL?

file-upload - 提供的 'HttpContent' 实例无效。它没有带有 'multipart' 参数的 'boundary' 内容类型 header

c# - WebAPI 多个冲突路由 - 基于身份验证

rest - Swagger 和 JWT token 认证

node.js - 指定永远不应在 Swagger 或 OpenAPI 中发送的属性

java - 无法声明注释数组

c# - 检查 Web API 是否可用的好/正确方法是什么?

asp.net-mvc - 为什么输出缓存不适用于我的 ASP.NET MVC 4 应用程序?

java - Jersey + Spring + Tomcat 环境不生成swagger.json

python - 类型错误 : Object of type 'type' is not JSON serializable