iT邦幫忙

2024 iThome 鐵人賽

DAY 1
2

前言:

大家好!我是 Eric,從事軟體開發三年多的時間,主要開發的程式語言是 C# .NET Core/.NET MVC 等。我也會使用一些基礎的 Vue.js 處理前端工作。

這次我決定分享 Web API 開發的主題。在過去半年,我閱讀了《Web API 設計原則|API與微服務傳遞價值之道》這本書。
https://im1.book.com.tw/image/getImage?i=https://www.books.com.tw/img/001/093/25/0010932514.jpg&v=62e8fcabk&w=375&h=375
這本書介紹了 Web API 在開發、設計,乃至於商業、規劃、產品思維、團隊合作等多個面向的內容。它不會直接告訴你該怎麼寫程式碼,而是透過實際範例來指導設計方法。

在這系列文章中,我將盡可能將書中概念轉換成易讀易懂的程式碼,並結合自身經驗,使用這些範例程式碼來幫助讀者理解如何設計與實作。我會手把手帶領初學者開發第一個 .NET Core Web API 專案,並逐步優化程式碼。

這個系列文章主要面向 C# 初學者、初階 Web 開發者或剛接觸軟體架構的讀者。我希望能為這些讀者提供最大的幫助,同時也藉此機會整理並反思自己掌握的開發技術,提升寫作能力。文章中可能會有一些錯誤或不夠深入的個人見解,歡迎各位讀者指正與提供建議。

希望在這個過程中,我們能夠互相學習,共同成長!

(在第一篇 比賽途中,我失誤忘記發文,趁著比賽期間最尾端,再接再厲再一次!)


主題概述:

這篇文章我主要分成幾個Part,來一步一步從零開始做介紹,原本是想說寫得很詳細大概Day幾是什麼內容,但怕計畫趕不上變化,還是簡單大略的把會介紹的點一一先點出來。

Part 1 : 什麼是API?

我會介紹什麼是API,什麼是Web API,因為此系列主要講WebAPI,後續都以API做Web API的簡稱。

Part 2 : 什麼是好的API?

  • 設立邊界與建立Model-當個結界師
  • 符合API規範-有規範才不會失控

Part 3 : API如何設計?

  • 三大API架構設計
    • REST
    • gRPC
    • GraphQL
    • 差異與比較
  • REST API 設計-主流的架構設計

Part 4 : 非同步API怎麼做?

  • 什麼是非同步
  • 非同步的模式與風格

Part 5 : 第一個API專案!

  • .Net Core WebApi 專案
  • 控制器與路由設定

Part 6 : API怎麼做測試?

  • 為什麼需要測試?
  • 常見的測試工具
    • Swagger
    • Postman
  • 能自動測試嗎?

Part 7 : API怎麼樣才安全?

  • 該怎麼保護API避免危害
  • API Key
  • OAuth 2.0

Part 8 : 第一次部屬API!

  • GitHub
  • Azure Web Service
  • Azure DevOps

Part 9 : 什麼是微服務?

  • API與微服務
  • 微服務的複雜度
  • 微服務架構
  • 解構API

Part 10: API可以怎麼管理?

  • 設計API文件
  • Azure API Management

Part 11: 繼續精進API!

  • 建立風格
  • 未來發展

目前暫估主要會有上面這幾個Part,當然隨著天數往後,會不會寫著寫著額外又多提到什麼東西也不一定,我盡可能讓文章內容充實一點,白話一點,不要太過艱深難讀,但內容上又有一點點深度,畢竟還沒正式開始,也是我第一次寫這種技術文章,只期望我不要寫的太差哈哈!那麼明天就會正式進入到API的世界!

今日小結:

今天我簡單介紹了這次Web API 系列文章的前言與主體,明天開始會正式進入。無論你是新手還是老鳥都希望文章能對你有所幫助。如果文章內容有問題我都會虛心接受指教。

最後,在明天正式開始前確保螢幕前的讀者可以準備好一下工具與環境,這些將是這30天內不可或缺的住手:

  1. Visual Studio 或 Visual Studio Code
    • Visual Studio: 一款功能強大的 IDE,適合進行 .Net Core 開發。你可以從這裡下載
    • Visual Studio Code: 如果你喜歡更輕量的編輯器,VS Code 也是一個不錯的選擇,並且支持豐富的擴展。你可以從這裡下載
    • (因應今天我們開發的是 .Net Core ,使用 Visual Studio 會提供更完整的功能)
  2. Postman
    • Postman 是一款用於 API 測試的流行工具,我們在後續的 API 測試部分會頻繁使用它。你可以從這裡下載
  3. Azure 帳號
    • 我們將在 API 部署部分使用 Azure 進行雲端部署,如果你還沒有 Azure 帳號,可以從這裡註冊。Azure 提供免費試用,足夠應付我們的課程需求。
  4. Git 與 GitHub 帳號
    • 我們會使用 Git 來管理項目的版本控制,你可以從這裡下載 Git,並確保你有一個 GitHub 帳號來存儲和分享你的代碼。

提示: 如果你對這些工具不太熟悉,別擔心!每個工具的官方網站都提供了詳細的安裝指南和使用說明,你可以隨時查閱。由於篇幅所限,這裡無法逐一詳細介紹工具的安裝與設定,但在之後的文章中會對使用到的工具進行簡單介紹。


下一篇
Day 2 什麼是API?
系列文
使用 C# 從零開始玩轉 Web API,從基礎到微服務與雲端部署的全面探索22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言