簡體   English   中英

怎么處理<see /> Swagger 中的 XML 文檔標簽?

[英]How to handle <see /> XML documentation tags in Swagger?

我有一個 ASP.Net Web API 和 XML 文檔,包括許多<see />標簽。

我最近在解決方案中添加了 Swagger(Swashbuckle UI 東西),並注意到它不處理像<see />這樣的 XML 標簽。 在網上四處看看后,我發現了這個 - https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/57 ,所以開發人員似乎不想解決這個問題。

有人有什么建議嗎? 我嘗試運行 little.exe 以將生成的 XML 文件中的所有標簽替換為它們的 object 名稱(例如<see cref="MyObject"/>變為MyObject ),但這一直搞砸了,甚至當我手動完成它時 Swagger 對於一些原因沒有接受更改(XML 是否加載到 memory 某處?)

XML 文檔注釋生成與同一文件夾中的程序集同名的文件中(通常)。 您可以使用XDocument和相關類解析該文件,然后使用架構過濾器( ISchemaFilter ) 在 Swashbuckle 公開的Open API 架構上設置適當的屬性。

我不確定哪種模式元素適合“另見”或“相關資源”功能。 您需要對此進行調查(可能是ASP.NET Core 的 Open API 實現中的自定義屬性,或者通過將文本附加到描述屬性)。

至於

XML 是否加載到 memory 某處?

是的。 Swashbuckle 本身解析此 XML 以執行它當前所做的所有操作。 粗略地說,它將它構建到文檔 object model (DOM) 中,該文檔建立在上述 Microsoft 的 Open API 實現之上。 使用架構過濾器將使您能夠訪問該 DOM。

暫無
暫無

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

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