使用Swagger CLI工具,我可以使用以下命令生成swagger文件:

swagger tofile --output swagger.json MyApi.dll v1

要使此命令起作用,API DLL必须包含Swagger包,并按如下方式配置:

builder.Services.AddSwaggerGen();

是否可以使用Swagger CLI或任何其他工具从不包含Swagger包和配置的API DLL生成Swagger文件?

这样做的主要原因是我有很多API,我不想仅仅为了生成swagger.json文件而修改这些API、添加Swagger包和配置.此外,我希望在自动构建期间执行此操作,因此我决定使用命令行方法.

推荐答案

我不知道有什么工具可以通过DLL判断来生成OpenAPI定义.所有已知的OpenAPI代码生成器(如Swashbakle或Swagger-Net)都是需要包含在应用程序中的库.

在不修改代码的情况下,您最好的 Select 可能是将流量记录到您的API并从中生成OpenAPI文件.有a few tools个人可以做到这一点.请看using OpticAkita的例子,了解它是如何工作的.

或者,如果您的API有一个现有的postman 集合,则有postman 到OpenAPI的转换器,如APIMatic Transformer(注意:需要一个帐户).

Csharp相关问答推荐

Rx.Net -当关闭序列被触发时如何聚合消息并发出中间输出?

如何使用FastEndpoints和.NET 8 WebAppliationBuilder进行集成测试?

当打印一行x个项目时,如何打印最后一行项目?

为什么我不能更改尚未设置的模拟对象属性的值?

解析需要HttpClient和字符串的服务

. net依赖注入如何避免服务类中的新

C#.NET依赖项注入顺序澄清

Blazor WebApp:原始异常:AADSTS700025:客户端是公共的,因此既不应显示客户端,也不应显示客户端

当前的文化决定了错误的文化

当前代码Cosmos DB 3.37.1:PartitionKey key key mismatch exception

C#DateTime.ParseExact不使用特定日期

为什么AggregateException的Catch块不足以处理取消?

VS 2022 for ASP.NET Core中缺少自定义项模板

为值对象编写自定义JsonConverter

使用动态键从请求体反序列化JSON

两个DateTimeOffset之间的差异返回意外的负值

我是否应该注销全局异常处理程序

如何从原始图像到新创建的图像获得相同的特定 colored颜色 ,并且具有相同的 colored颜色 量和相同的宽度和高度?

为什么我的属性即使没有显式地设置任何[必需]属性,也会显示验证?

如何使用moq和xUnit对删除操作进行单元测试?