微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

XML 注释未显示在 Swagger 文档中,这是 swagger 中的错误吗?

如何解决XML 注释未显示在 Swagger 文档中,这是 swagger 中的错误吗?

Swagger xml 注释没有显示在文档 UI 中,不确定我在这里遗漏了什么......至少有人告诉我这是一个错误

步骤 1:创建一个全新的 ASP.NET Web 应用程序 Web API 项目

enter image description here

第 2 步:创建 Web API 项目

enter image description here

第三步:安装 Swashbuckle 5.6.0 NuGet 包

enter image description here

Step4:启用生成 XML 文档文件(项目属性 -> 构建)

enter image description here

步骤 5:更新 SwaggerConfig.cs 以包含 XmlComments

public static void Register()
{
    var thisAssembly = typeof(SwaggerConfig).Assembly;

    GlobalConfiguration.Configuration.EnableSwagger(c =>
    {
                var xmlFile = "bin\\" + $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory,xmlFile);
                c.IncludeXmlComments(xmlPath);
     });
}

Step6:向控制器添加 XML 注释

///<Summary>
/// Get these comments1
///</Summary>
public class ValuesController : ApiController
{
    ///<Summary>
    /// Get these comments2
    ///</Summary>
    public IEnumerable<string> Get()
    {
        return new string[] { "value1","value2" };
    }
}

WebApplication1.xml也在bin文件夹中生成

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>WebApplication1</name>
    </assembly>
    <members>
        <member name="T:WebApplication1.Controllers.ValuesController">
            <Summary>
             Get these comments1
            </Summary>
        </member>
        <member name="M:WebApplication1.Controllers.ValuesController.Get">
            <Summary>
             Get these comments2
            </Summary>
        </member>
        <member name="M:WebApplication1.Controllers.ValuesController.Get(system.int32)">
            <Summary>
             Get these comments3
            </Summary>
        </member>
        <member name="M:WebApplication1.Controllers.ValuesController.Post(System.String)">
            <Summary>
             Get these comments4
            </Summary>
        </member>
        <member name="M:WebApplication1.Controllers.ValuesController.Put(system.int32,System.String)">
            <Summary>
             Get these comments5
            </Summary>
        </member>
        <member name="M:WebApplication1.Controllers.ValuesController.Delete(system.int32)">
            <Summary>
             Get these comments6
            </Summary>
        </member>
    </members>
</doc>

但是 Swagger UI 没有显示评论,我不确定我哪里出错了:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。