簡體   English   中英

如何在 SwashBuckle.ASP.NET 核心庫中顯示外部庫程序集提供的端點的 XML 注釋

[英]How to show XML comments for external library assembly provided endpoints in SwashBuckle.ASP.NET Core library

我有一個為自己的端點提供服務的 ASP.NET 核心應用程序。 我還有一些端點來管理基本的應用程序功能(即一個健康端點來檢查機器名稱是什么以及它是在本地運行還是在遠程機器上運行),這些端點由內部 nuget 包提供。 我目前正在使用Swashbuckle.AspNetCore來提供 API 文檔。 在我的StartUp文件中,我目前能夠在我的 web 項目的程序集中包含 XML 注釋,如下所示:

services.AddSwaggerGen(gen =>
            {
                gen.IncludeXmlComments(
                    filePath: Path.Combine(AppContext.BaseDirectory, Assembly.GetEntryAssembly()!.GetName().Name + ".xml"),
                    includeControllerXmlComments: true
                    );
            });    

但是,這不提供 XML 對我的 web 項目使用的其他庫提供的路由的評論。 這些端點仍然在我的 api 文檔(我想要)中,但理想情況下,我也會有 xml 評論。 關於如何實現這一目標的任何想法?

我為我的項目創建了一個擴展方法,它將提取 XML 文件並將其加載到Swagger中。 您還需要確保您的 .NET 核心項目正在生成 XML 文件。 去檢查; 右鍵單擊您的項目,然后Properties -> Build ,然后在Output下確保設置了 XML 文檔文件位置。

我從 Swagger 的官方自述文件中得到以下評論。 它起作用了。

注意:您還可以通過使用摘要標簽注釋 API 模型及其屬性來提供 Swagger 架構描述。 如果您有多個 XML 注釋文件(例如,控制器和模型的單獨庫),您可以多次調用 IncludeXmlComments 方法,它們將全部合並到輸出的 Swagger Z0ECD11C1D7A2874201D148A23BBD7 中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM