Rocket入門指南 第十章:資料庫的存取 2019 年 7 月 23 日 Magic Len 研究分享、 Rust Web框架常會搭配資料庫一起使用,Rocket框架當然也有一定程度的資料庫支援。雖然我們可以直接使用Rocket框架提供的應用程式狀態機制來註冊任意套件提供的資料庫實體,但是在程式撰寫上會比較麻煩一點,像是資料庫的位址、帳密等資訊,我們可能就必須要寫死在程式碼內,或是自己再另外開發出可以讓Rocket框架從外部讀取資料庫設定值的功能。前面的章節介紹過的「rocket_contrib」套件,能替Ro... 繼續閱讀
Rocket入門指南 第九章:進階處理HTTP回應(Response)的方式 2019 年 7 月 21 日 Magic Len 研究分享、 Rust 在這個章節中,會繼續介紹「rocket_contrib」這個Rocket官方的擴充套件所提供的有關HTTP回應的功能,包括JSON和MessagePack格式的回應,以及Handlebars和Tera這兩個HTML模板引擎。此外還會介紹Rocket框架本身提供的「快閃訊息」(Flash Message)機制。 繼續閱讀
Rocket入門指南 第八章:中介軟體(Middleware)與整流片(Fairing) 2019 年 7 月 19 日 Magic Len 研究分享、 Rust 大多數的Web框架都會提供中介軟體(Middleware)機制,使用固定的額外程式來處理每次的HTTP請求或是HTTP回應。Rocket框架對於中介軟體的支援是依靠「整流片」(Fairing)來完成的,我們可以替任意的型別實作「fairing::Fairing」特性,使其能作為「掛鉤」(hook)來監聽Rocket框架收到HTTP請求時的事件,或是要送出HTTP回應時的事件。 繼續閱讀
Rocket入門指南 第七章:狀態(State) 2019 年 7 月 17 日 Magic Len 研究分享、 Rust Rocket框架提供了維持狀態(State)的機制,將狀態分為「應用程式狀態」和「請求狀態」兩種。前者可以將任何型別當作狀態來使用,而且可以自由、便利地使這些狀態「載入」到任意路由處理程序中;而後者則是因一個HTTP請求可能會由多個路由處理程序嘗試匹配而誕生出來的快取機制。 繼續閱讀
Rocket入門指南 第六章:進階處理HTTP請求(Request)的方式 2019 年 7 月 15 日 Magic Len 研究分享、 Rust 在這個章節中,將會介紹「rocket_contrib」這個Rocket官方的擴充套件,它針對幾個比較特殊但也算常見的使用案例,提供額外的結構體甚至是子框架。在處理HTTP請求的方面,「rocket_contrib」可以提供JSON、MessagePack和UUID格式的支援,以及靜態檔案(如圖片檔、CSS、JS等等的靜態資源檔)的提供。 繼續閱讀
Rocket入門指南 第五章:錯誤捕獲者(Error Catcher) 2019 年 7 月 13 日 Magic Len 研究分享、 Rust 在Web應用程式提供服務時,程式難免會遭遇到一些預期內或是預期外的錯誤,像是客戶端請求的網址沒有路由處理程序能夠處理、請求中的資料格式有誤(例如原本需要輸入數字的地方被輸入成字母文字)、授權逾期,或是資料庫突然連線失敗等,Web應用程式應該都要有能力避免應用程式崩潰(crash),並且照常發送HTTP回應。而Rocket框架當然預設就有處理這些錯誤的能力,開發者甚至可以利用自訂的錯誤捕獲者(Err... 繼續閱讀