如何使用 .NET Web API 生成 Swagger 1.2 JSON
How to generate Swagger 1.2 JSON with .NET Web API
我们正在尝试为我们的 .NET Web API 生成 Swagger 1.2 规范 JSON。我试过使用 Swashbuckle,但它似乎只能生成 Swagger 2.0 规范 JSON。
有谁知道如何从 .NET Web API(是否使用 Swashbuckle)生成 Swagger 1.2 JSON?
不太确定为什么要使用 Swagger 1.2 而不是 Swagger 2.0,但您仍然可以使用 Swashbuckle,只是它的旧版本,例如 https://github.com/domaindrivendev/Swashbuckle/tree/v4.2.0。
这个 swagger.json 文件可以作为项目构建的输出生成,使用 swagger。在您的 webApi .csproj 文件中,添加此部分:
<Target Name="NSwag" AfterTargets="Build">
<Exec Command="$(NSwagExe) webapi2swagger /infotitle:"$(AssemblyName)" /assembly:$(TargetPath) /output:$(OutDir)/$(AssemblyName).swagger.json" />
</Target>
您还需要像这样为您的 API 控制器方法添加属性,例如:
[SwaggerResponse(HttpStatusCode.OK, Type = typeof(object))]
我们正在尝试为我们的 .NET Web API 生成 Swagger 1.2 规范 JSON。我试过使用 Swashbuckle,但它似乎只能生成 Swagger 2.0 规范 JSON。
有谁知道如何从 .NET Web API(是否使用 Swashbuckle)生成 Swagger 1.2 JSON?
不太确定为什么要使用 Swagger 1.2 而不是 Swagger 2.0,但您仍然可以使用 Swashbuckle,只是它的旧版本,例如 https://github.com/domaindrivendev/Swashbuckle/tree/v4.2.0。
这个 swagger.json 文件可以作为项目构建的输出生成,使用 swagger。在您的 webApi .csproj 文件中,添加此部分:
<Target Name="NSwag" AfterTargets="Build">
<Exec Command="$(NSwagExe) webapi2swagger /infotitle:"$(AssemblyName)" /assembly:$(TargetPath) /output:$(OutDir)/$(AssemblyName).swagger.json" />
</Target>
您还需要像这样为您的 API 控制器方法添加属性,例如: [SwaggerResponse(HttpStatusCode.OK, Type = typeof(object))]