我用 asp.net core 创建了一个 API 项目,我在其中使用 swashbuckle.AspNetCore.dll 生成 swagger。
它运行良好,运行良好。
现在我有另一个 C#(.NET 标准库),我在其中创建了一些 GET、POST、DELETE、PUT 方法。
需要将所有这些方法加载到 swagger API 项目中。
我曾尝试将那个单独的 C# 库 (.dll) 用于我的项目,但它没有加载到 swagger。
将此行添加到 Startup.cs 文件中的配置服务方法:
services.AddSwaggerGen(c => {
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
c.AddSecurityDefinition("Bearer", new ApiKeyScheme {
In = "header", Description = "Please enter JWT with Bearer into field",
Name = "Authorization", Type = "apiKey"
});
c.AddSecurityRequirement(new Dictionary<string, IEnumerable<string>> {
{ "Bearer", Enumerable.Empty<string>() },
});
});
将此行添加到 startup.cs 文件中的 Configure 方法:
app.UseSwagger();
// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
// specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
c.RoutePrefix = string.Empty;
});
用swagger项目方法展示swagger。它应该显示这两种方法,无论它是在单独的库中还是在 swagger 项目本身中。
最佳答案
我使用服务堆栈 swagger 而不是 swashbuckle。
它解决了我的问题。
这是解决方案。
https://forums.servicestack.net/t/guidance-on-enabling-oauth-2-0-in-generated-swagger-docs/3995/18
关于c# - 如何将另一个项目(get,post)api方法引入swagger api项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55862726/