ASP.NET Web API 文件產生器(2) - Swagger

ASP.NET Web API 文件產生器(2) - Swagger

前一篇,我們使用ASP.NET Web API範本內建的Help Page快速產出即時的Web API文件,不過在APP Service - API App我們可以發現,微軟在未來的API App範本使用另一個Swagger,接下來我們來看看如何在現有的ASP.NET Web API專案中導入使用Swagger。

在ASP.NET Web API整合Swagger

Swagger是100% Open Source的軟體,它不只能快速產生Web API文件(有好看的UI),而且能直接透過JSON或YAML進行Web API的匯入與匯出,並且可以快速的對你的Web API進行測試,不論此Web API是在本機或是遠端。

  • Swagger UI 你可以試著操作Swagger的界面。
  • Swagger Editor 可以使用JSON或YAML進行Web API的定義描敘,你可以隨意修改看看即時效果。

ASP.NET Web API 文件產生器(1) - Help Page

ASP.NET Web API 文件產生器(1) - Help Page

開發ASP.NET Web API有個很重要的問題,就是文件的撰寫,但開發者都知道,我們希望把心力放在ASP.NET Web API應用程式上面而非文件,原因很簡單:改變是容易的。但如何即時反應程式上的修改,這就不是一件容易工作。

Help Page

在Visual Studio 2013,如果一開始就選擇Web API專案,那麼從專案一開始你就會擁有一個強大的Web API文件產生器,Web API文件產生器由Yao - MSFT針對ASP.NET Web API所設計。

Help Page - Areas目錄

啟動Web API範本會發現比MVC範本一個【API】的連結。

API連結

進入後可以看到Yao設計的ApiExplorer會動態解析目前專案下繼承ApiController的Controller的API方法。

API清單

點擊任一API方法,可以看到更進一步的訊息。

API詳細資訊

如果讀者有跟著做或玩過Help Page會覺得這也太陽春了吧!對,這是因為我們還沒有提供足夠的資訊給ApiExplorer。

安裝Windows 7/8出現0x800300024錯誤

速記 - 安裝Windows 7/8出現0x800300024錯誤

最近重新安裝Windows 8,結果過程非常不順利,一直卡在安裝系統前的磁碟分割那一段,會出現一個0x800300024的錯誤。

解決辦法很簡單:暫時移除要安裝系統磁之外所有HDD/SSD。也就是讓磁碟分割那裡剩一顆硬碟。

標題會有Windows 7是因為,Google的時候,好像一堆Windows 7也有此問題。

此篇到此,真速記也。

Microsoft Azure APP Service - API APP 服務概觀

Microsoft Azure APP Service - API APP 服務概觀

有四個部分:

  • 如何開發 API APP - Swagger
  • 如果發行 API APP 至 Microsoft Azure
  • API Client - 快速開發的法寶
  • 如何進行遠端 API APP 偵錯
  • 轉移 Web API 為 API APP - API SDK 使用

Microsoft Azure專案發行時無法預覽

Microsoft Azure專案發行時無法預覽

最近某個Microsoft Azure專案一直有個問題,問題是在「發行」時無法進行預覽,如果按下預覽鈕,那麼會出現錯誤。

錯誤訊息

由於例外狀況 '嘗試對條件 "'$(TargetPlatformVersion)' > '8.0'" 中評估為 "" (而非數字) 的 "$(TargetPlatformVersion)" 進行數字比較。 C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets' 而導致叫用組建失敗。

一但產生錯誤,Microsoft Azure專案就會無法發行,必須關閉重開,然後不能在發行時按下「預覽」鍵,就能順利發行。利用錯誤訊息求助G神,得到「找不到符合搜尋字詞」的結果,有點苦腦。

閃開,讓專業的來

還好,小弟還認識一位Microsoft Azure的朱神,經過小朱的幫助,給出一個通靈級的解答:$(TargetPlatformVersion)’ > ‘X.X’ Error

看起來是Resharper 8.x的bug。而我電腦中的Resharper是由8升級至9的沒錯。

ReSharper Repair

將ReSharper進行Repair,問題解決,收工。