我們正在嘗試從傳統的基於WCF SOAP的服務切換爲我們的產品開始編寫WebApi服務。我們面臨的挑戰是如何提供api文檔。我遇到了SwaggerUi /斜扣。 我們的一個限制是我們不想在IIS中託管WebApi服務,而是在Windows服務中託管。我是Web API的新手,所以我可能會以錯誤的方式做事。Web Api文檔與swashbuckle
因此,爲了測試,我在控制檯應用程序中託管web api。我可以使用HttpClient來調用Web Api上的Get方法,但如果我在Web瀏覽器中鍵入url(這對於自託管Web API是否正常?),我無法訪問它。
因此,我安裝了Swashbuckle.core nuget包,並將下列代碼包含在Startup類(Owin selfhosted)中。
var config = new HttpConfiguration();
config
.EnableSwagger(c =>
{
c.IncludeXmlComments(GetXmlCommentsPath());
c.SingleApiVersion("v1", "WebApi");
c.ResolveConflictingActions(x => x.First());
})
.EnableSwaggerUi();
private static string GetXmlCommentsPath()
{
var path = [email protected]"{AppDomain.CurrentDomain.BaseDirectory}\WebApiHost.XML";
return path;
}
當我瀏覽到以下位置 http://localhost:5000/swagger/ui/index 我收到「頁面無法顯示」的IE瀏覽器。類似的鉻。 在控制檯/ windows服務應用程序中託管WebApi以自動獲取文檔時是否需要執行任何特殊操作?
(我已經啓用了該項目的xml文檔)
現在我附上一個測試項目。請點擊以下鏈接:
問候,
納斯
非常感謝您指出這一點,我不相信我沒有注意到這麼基本的東西。它現在工作:) – Nasir