iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

Rust Web API 從零開始 系列

我會介紹在讀Zero To Production In Rust的心得
練習的程式碼在此
https://github.com/marvin-hsu/zero_to_production

鐵人鍊成 | 共 30 篇文章 | 20 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day01 - 前言

從去年開始,我就把Rust納入了我的學習計畫中。在這個系列文章中,我將分享我在學習過程中所遭遇的挑戰。必須承認,Rust這門語言確實不容易掌握!在接下來的30天...

2023-09-01 ‧ 由 marvinhsu 分享
DAY 2

Day02 - 開發之前的那些事

需求分析 我們先從需求分析開始,接下來的幾天要完成一個部落格訂閱系統 我是一個部落格作者我希望讀者可以訂閱我的部落格讀者可以在我發布新文章時收到通知 我很喜...

2023-09-02 ‧ 由 marvinhsu 分享
DAY 3

Day03 - 淺談Axum

初始化專案 在開始之前先快速介紹如何初始化一個Rust專案: //// 初始化一個binary專案,也可省略--bin cargo init hello_wor...

2023-09-03 ‧ 由 marvinhsu 分享
DAY 4

Day04 - 先做一個health check吧

原本預計要介紹router的細部設定和middleware,但我決定改從專案的第一個 API 開始。 Health Check 選擇用health check當...

2023-09-04 ‧ 由 marvinhsu 分享
DAY 5

Day05 - 從Server到Handler

延續昨天的內容,一個handler方法的回傳值需要實作IntoRepsonse trait,但是為什麼呢? Axum的架構 我們先把焦點放在目前出現的三個組件服...

2023-09-05 ‧ 由 marvinhsu 分享
DAY 6

Day06 - 實做訂閱API

我們先把訂閱API的路由加上去,目前main.rs的內容如下: use axum::{http::StatusCode, routing::get, Route...

2023-09-06 ‧ 由 marvinhsu 分享
DAY 7

Day07 - 用python進行整合測試

繼續推進之前,讓我們先寫一些測試吧!這隻API在完成前還會做很多的修改,我希望這些修改都可以由測試案例驅動。在zero2prod書中,這個階段從User Sto...

2023-09-07 ‧ 由 marvinhsu 分享
DAY 8

Day08 - 透過重構了解Rust的模組管理

今天要對程式碼做大量的調整,所以會看到很多重複的程式碼請見諒。 main.rs 到目前為止的程式碼都放在main.rs裡面: use axum::{http::...

2023-09-08 ‧ 由 marvinhsu 分享
DAY 9

Day09 - 應用程式模組

目前lib.rs的內容如下 //// lib.rs mod handler; use handler::*; use axum::Router; use a...

2023-09-09 ‧ 由 marvinhsu 分享
DAY 10

Day10 - 單元測試與Domain Module

既然可以從extractor取得request中的訂閱訊息了,那接下來是不是只要持久化到資料庫就好了呢?事實上不盡然,以目前的extractor為例: #[de...

2023-09-10 ‧ 由 marvinhsu 分享