gpt4 book ai didi

c# - 将 XmlComment 用于 swagger api 帮助器页面

转载 作者:行者123 更新时间:2023-12-03 03:07:08 25 4
gpt4 key购买 nike

尝试为我的新启动 ASP.NET Core api 项目配置 swagger 时出现错误。它在本地主机上完美运行:注释与 xml 注释配合良好。但是当我将其发布到azure主机时,它不起作用。

Azure error message

然后我尝试找出注释配置代码的方法,将xml注释添加到swagger中:

public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddMvcCore().AddApiExplorer();
services.AddLogging();
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new RequireHttpsAttribute());
});

services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Version = "v1",
Title = " API Helper Page",
Description = "A simple start ASP.NET Core Web API/ MBAAS",
TermsOfService = "None",
Contact = new Contact { Name = "Nguyễn Bá Nguyên", Email = "", Url = "https://github.com/hello/" },
License = new License { Name = "Under Construction...", Url = " " }
});
// Set the comments path for the swagger json and ui.
// only working on local, need to be fixed
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var xmlPath = Path.Combine(basePath, ".xml");
c.IncludeXmlComments(xmlPath);
});

}

为了在没有错误的情况下发布到 azure ,我最后评论了

 //var basePath = PlatformServices.Default.Application.ApplicationBasePath;
//var xmlPath = Path.Combine(basePath, ".xml");
//c.IncludeXmlComments(xmlPath

);

并且 azure 主机可以工作,但 swagger 无法使用 xml 注释:(

Documentation without comments

那么有什么方法可以配置 swagger 以对 azure 主机使用 xml 注释吗?

最佳答案

我在 Azure API 应用程序上使用 .NET core 的 swagger xml 注释时遇到了同样的问题。我设置stdoutLogEnabled后标记为true在 web.config 中,我发现 XML 文件丢失。在我手动将 xml 文件上传到 API 后,它就起作用了。

要上传 XML 文件,您可以使用 Kudu 服务(键入 <yourapi>.scm.azurewebsites.net 或在 Azure 门户 -> 开发工具 -> 高级工具的应用程序中)。然后单击“调试控制台”,导航到您的站点并上传 xml 文件:

enter image description here

关于c# - 将 XmlComment 用于 swagger api 帮助器页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43466423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com