RESTier 自選動作 + Swagger

剛剛講完用 RESTier auto 生成 REST API,每隻 table 都有基本嘅 CRUD 功能,跟手就要講講點樣可以搞非 CRUD 我話嘅「自選動作」,同時,為咗增加趣味,我用 SwashBuckle 搞埋 Swagger 式嘅 API documents。要提一提,SwashBuckle 仲未可以直接 gen 埋 RESTier 嘅 API documents,遲啲應該會得,又或者我唔識,因為論壇有網友講過,你可以去 Google 下。

好,開波:

Screen Shot 2016-07-13 at 9.23.53 AM Screen Shot 2016-07-13 at 9.24.52 AM Screen Shot 2016-07-13 at 9.25.39 AM
用番上集嘅 project,right click folder Controllers,Add > Controller。 選 Common > Web API > Web API Controller with read/write actions,click Add。 識得 highlight 咗前面隻字,好貼心,贊一個!啊,個 suffix 一定要用 Controller 唔改得。
Screen Shot 2016-07-13 at 9.26.37 AM Screen Shot 2016-07-13 at 9.26.59 AM Screen Shot 2016-07-13 at 9.31.27 AM
我叫佢做 MyFirstController,教學嘛,隨便啫,都係一句。 有齊 CRUD(GET,POST,PUT,同 DELETE)。 立即 Debug,用 Chrome 試試,一啲問題都冇,正!吓,你發覺個 root path 唔同咗?好眼利!
Screen Shot 2016-07-13 at 10.56.32 AM Screen Shot 2016-07-13 at 9.32.12 AM Screen Shot 2016-07-13 at 9.32.50 AM
回帶,睇番隻 NorthWindApi.WebApiConfig.cs,剛剛加嘅係 Controller,係傳統嘅 Web API Routes 所以唔同咗。😀 玩玩 debug break point。😜 REQUEST 加上 “/1″。
Screen Shot 2016-07-13 at 9.33.10 AM Screen Shot 2016-07-13 at 9.33.58 AM Screen Shot 2016-07-13 at 9.34.28 AM
有反應,識得停!個 variable [id] 仲顯示係 1。即係你隻 server 收到由隻 browser 提供嘅 parameter。 Click 一下 Step into,VS2015 會跳落下一行 code,識互動㗎! Click Continue 就會轉番去 browser,個 result 係啱嘅。Visual Studio 最強就係 debug!
Screen Shot 2016-07-13 at 9.35.32 AM Screen Shot 2016-07-13 at 9.36.07 AM Screen Shot 2016-07-13 at 9.36.30 AM
再加一個 Controller,今次用 Empty。 今次叫做 MySecondController。 得個売!
Screen Shot 2016-07-13 at 9.41.06 AM Screen Shot 2016-07-13 at 9.43.48 AM Screen Shot 2016-07-13 at 9.44.21 AM
加幾行 codes,兩個 routes 都係 GET。 立即去試,正常。
明唔明學咗咩?個 route 我想叫咩就叫咩,個 result 任我話事。
試埋第二個 route。
Screen Shot 2016-07-13 at 9.45.53 AM Screen Shot 2016-07-13 at 9.46.53 AM Screen Shot 2016-07-13 at 9.47.55 AM
輪到 SwashBuckle,先用 NuGet Manager 下載安裝 SwashBukcle。 輸入 swagger。 Highlight Swashbuckle,哩一刻係 v6.0.0-beta901
Screen Shot 2016-07-13 at 9.49.55 AM Screen Shot 2016-07-13 at 9.50.21 AM Screen Shot 2016-07-13 at 9.52.23 AM
Preview 話係 6.0.0-rc1-final,唔夾嘅,搞 Open Source 人力有限,睇開啲。😎 Error,撞板,version 6 應該會用 Core 1,唔唔係唔係? 回帶,uncheck 「Include prerelease」,出現 v5.3.2
Screen Shot 2016-07-13 at 9.53.11 AM Screen Shot 2016-07-13 at 9.53.42 AM Screen Shot 2016-07-13 at 9.54.30 AM
降低咗版本。 順利安裝。 喺 App_Start 多咗隻 SwaggerConfig.cs
Screen Shot 2016-07-13 at 10.05.43 AM Screen Shot 2016-07-13 at 10.06.05 AM Screen Shot 2016-07-13 at 10.06.31 AM
去 Debug,唔使惊,個 error 係正常嘅。 喺個 Url 加上 swagger。 立即有反應,自動跳去 swagger/ui/index,兩個自選 routes 都出現。
Screen Shot 2016-07-13 at 10.06.53 AM Screen Shot 2016-07-13 at 10.07.50 AM Screen Shot 2016-07-13 at 10.08.28 AM
仲好靚仔添。 試下 /api/MyFirst,click Try it out! 識得 return 個 result,唔使用 REST Client!🤗
Screen Shot 2016-07-13 at 10.09.02 AM Screen Shot 2016-07-13 at 10.09.43 AM Screen Shot 2016-07-13 at 10.10.25 AM
再玩第二個 route,今次有埋個 Parameters 要填,仲寫明係叫 id 添,勁方便。 入個 id 再 click Try it out! 全部正常,請鼓掌!