NancyFX 第二章 Rest框架


    正如你看到的,Nancy有兩個主要用途。

    其中第一項是作為一種通用的基於 REST 框架,可替代 ASP.NET Web API 或其他Rest工具包。

    默認情況下,Nancy提供一流的路由和內容協商機制,你在接下來的章節會了解更多。它不只是提供Rest節點,然而,大一部分是它的易用性,讓大家更加樂於使用。

    許多工具包都聲稱實現了Rest標准,而實際上它們沒有,至少不是正式的W3C標准。雖然未能完全實現REST不是個問題,但是我們也不能貶抑那些符合 W3C 標准的方式。

    下面的代碼遵循 W3C 規范愉快地實現了基於REST的接口︰

 代碼1

public MP3Player() : base("mp3player") { 
        Get["/genres/"] = _ => { 
            // 從數據庫中查詢所有記錄 代碼
            return HttpStatusCode.OK;
        }; 
        Put["/genres/"] = _ => { 
            // 向數據庫中批量保存數據 代碼
        return HttpStatusCode.OK; 
        };
        Post["/genres/"] = _ => { 
            // 添加新記錄  代碼
            return HttpStatusCode.OK; 
        }; 
        Delete["/genres/"] = _ => { 
            // 刪除所有記錄 代碼
            return HttpStatusCode.OK; 
    }; }

    定義通常是這樣清晰和顯而易見,你幾乎一眼能能看到實現了那些路由,返回了什么信息,以及如何處理的。

    Nancy以這種方式實現了所有HTTP謂詞,不只是前面的代碼清單中的四個,其他謂詞如下:

  • Head
  • Trace
  • Options
  • Connect
  • Patch

    鑒於你已經學到的,你已經可以通過添加重載Nancy標准接口來自定義類,實現自己的謂詞相應操作。事實上,Nancy的主要優勢之一是它能夠使用簡單的基於 REST 的概念和明確的代碼來定義DSL(領域特定語言) 。

總結

    在這一章,你已經看到了Nancy相比較於其他Rest框架,令人驚訝的處理方式。在下一章中,我們將繼續這種探索和看到作為一個通用web 框架,Nancy是如何處理的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM