檔案上傳,是Web開發很普遍的一個需求。WebAPI的部分,要怎麼處理這一塊呢?請繼續看下去...
[筆記][WebAPI][Upload] WebAPI 檔案上傳範例
- 5894
- 0
- (.NET)Web API
檔案上傳,是Web開發很普遍的一個需求。WebAPI的部分,要怎麼處理這一塊呢?請繼續看下去...
Cookie 是在以往Web開發過程中,是常用的一個存資訊在Client端的方式。例如:在電商網站中,當使用者第一次進入網站時,可能就會埋一個Cookie在瀏覽器端,藉以觀察這個瀏覽器,他的一些行為模式,而著名的網站觀察GA,也是以如此的模式作為基礎。目前開發轉到WebAPI後,其實WebAPI也可以對於Request的來源進行類似的作法。這篇就來針對在Controller中,對Cookie進行存取的方式,做個整理。最後,會將相關功能抽出,寫在Models中的類別,作為公用的程式,讓之後每個Controller要對Cookie進行存取,可以簡化相關的撰寫。
WebAPI 的應用中,有一個 Message Handler ,可以讓我們在不改 Web API 的情況下,透過 Message Handler 來處理一些 WebAPI 共同要處理的項目。讓這些處理的事情,與 WebAPI 要處理的事情有很好的權責分離,彼此只需要專注處理自己要做的,又能夠好好的配合。
小喵剛好有個需求,想要記錄某個專案中,WebAPI的進出內容,一來未來當作分析依據,二來保留下來有爭議時可以當作依據。借由NLog來記錄,因NLog簡單易用,對於效能的影響很小,剛好將這兩個技術一起搭配來做個練習。怎麼做,讓我們繼續看下去~
小喵前一篇【WebAPI 設定多組(Multiple) 跨 Domain】,測試實主要是透過 jQuery 的 getJSON 來處理,實際上進一部使用 $.Ajax 的時候,又遇到了【Status Code : 405 Method Not Allowed】的狀況。那麼這個狀況到底要如何處理呢?我們看下去~
由於安全上的考量,預設透過 AJAX 跨 Domain 存取 WebAPI 是被禁止的,而要處理這部分的問題,除了 JSONP 以外,另外就是 W3C 定義的 Response Header 【Access-Control-Allow-Origin】可以解決這個問題,不過經測試結果,如果設定在Web.Config裡面,除了設定為【*】,讓所有的都可以用以外,就只能設定一個 Domain 。不過,實際上可能會需要有幾組 Domain 可以存取我們寫好的 WebAPI。那麼這樣的需求要怎麼處理呢?
讓 WebAPI 可以支援 OData ,能讓我們的 WebAPI 更有彈性,從小喵這篇【[Web API][OData][筆記] OData初體驗】中,最開始就是要宣告 Function 可支援
承上篇【[筆記][knockout][WebAPI]使用 knockout.js 透過 jQuery getJSON 從 WebAPI 取得資料,並 foreach 放入 table 範例】,由於來源資料透過 WebAPI 並支援 OData ,所以可以簡單透過 OData 所支援的方式,簡單的就可以做到分頁,這篇就來分享一下分頁,重新取得資料,並結合 Knockout.js 來將WebAPI OData取得的資料進行綁定的方式。
小喵從開始接觸到WebAPI 與 黑大分享的knockout.js 之後,一直就想這兩個絕配的東西應該可以激起很棒的火花。小喵這一篇,就記錄一下如何透過 jQuery 的 getJSON 取得 WebAPI的JSON物件後,再透過 knockout.js 將資料綁定到一個
裡面。...繼續閱讀 »WebAPI真是個好物,可以自動依據Client端的需求將Server 端的物件產出XML或者JSON的內容,也可以支援OData的方式進行查詢。不過由於方式比較特別,呼叫的人如果沒有相關文件,可能會不知道該如何呼叫,該傳遞什麼樣的參數、什麼樣的json內容。而剛好,WebAPI有支援自動產出Help Page,自動將寫好的Web API產生相關的說明,還可以線上進行查詢。這樣讓我們開發的人員,可以專心的寫好我們的程式。這樣的方式真的太棒了。這一篇就來介紹怎麼樣產生WebAPI的Help Page。
小喵最近開始學習Web API,這種沒有畫面的運作方式還真有點不習慣,好在有Chrome裡面的PostMan與Fiddler這兩套工具的幫忙,可以順利進行學習。不過使用Fiddler剛學習POST的時候,就遇到程式總是收不到東西,總是 Nothing (VB.NET) / null (C#)。後來找了一下,原來~