iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

Go Clean Architecture API 開發全攻略 系列

本系列文章將帶領讀者從零開始,使用 Go 語言打造一個完整、可維護、可測試的生產級 API 服務。我們將深入探討現代後端開發中的各個環節,從專案的架構設計、核心功能實現,到最終的測試、部署與維運。專案將採用六角形架構(Clean Architecture)思想,並整合 Gin、GORM、Docker、Swagger、golangci-lint 等業界常用工具與技術。

參賽天數 23 天 | 共 23 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 11

資料庫整合 (一):使用 GORM 連接 MySQL

在前面的文章中,我們已經建立起完整的身份驗證流程,從密碼加密到 JWT 的簽發與驗證。然而,我們還沒處理使用者資料的存取。是時候為這些資料打造一個永久的家了。...

2025-09-11 ‧ 由 nick_forever 分享
DAY 12

資料庫整合 (二):資料庫遷移 (Migration)

想像一個場景:開發者 A 在本地為 users 表新增了一個 age 欄位,並提交了對應的程式碼。開發者 B 拉取了最新程式碼,但他的本地資料庫沒有 age 欄...

2025-09-12 ‧ 由 nick_forever 分享
DAY 13

Entity Model 與實作 Database Adapter

在前一章中,我們建立了資料庫連線和遷移機制,但還沒有實際操作資料庫。現在,我們將實作資料庫層。 在本章中,我們將實作一個基於 GORM 的 MySQL Adap...

2025-09-13 ‧ 由 nick_forever 分享
DAY 14

Controller 層:API 的守門員

在前幾章,我們已經實作了 UseCase 層以及其外部依賴,現在我們要來說明 Controller 層的職責,並實作先前遺留下尚未實作的 Register fu...

2025-09-14 ‧ 由 nick_forever 分享
DAY 15

六角架構的魅力之美:開發的便利

前面的文章中,我們介紹了六角架構(Hexagonal Architecture)的基本概念及其優點。這次,我們將深入探討六角架構在開發時所帶來的便利性,並以新增...

2025-09-15 ‧ 由 nick_forever 分享
DAY 16

Makefile 完全指南:自動化你的 Go 專案開發流程

隨著專案逐漸成形,我們需要執行的指令也越來越多:編譯、執行、測試、程式碼檢查...。如果每位開發者都手動輸入這些指令,不僅繁瑣,而且容易因參數不同而導致結果不一...

2025-09-16 ‧ 由 nick_forever 分享
DAY 17

Dockerize 你的 Go 應用:使用 Docker Compose 打造一致的開發環境

我們前面已經完成的基礎的架構和程式碼撰寫,現在是時候將我們的應用程式容器化,並使用 Docker Compose 來管理多個服務(應用程式、MySQL 和 Re...

2025-09-17 ‧ 由 nick_forever 分享
DAY 18

API 文件:使用程式產生 API 文件,讓前後端協作更順暢

在現代軟體開發中,API(應用程式介面)是前後端溝通的橋樑。隨著專案規模的擴大,手動維護 API 文件變得越來越困難且容易出錯。為了解決這個問題,採用自動化工具...

2025-09-18 ‧ 由 nick_forever 分享
DAY 19

[Day 19] Domain Model 設計:定義專案最核心的商業規則

在我們的六角形架構中,Domain 層處於同心圓的最中心。它代表了我們業務的本質,是整個系統中最穩定、最不應輕易變動的部分。但是,一個好的 Domain Mod...

2025-09-19 ‧ 由 nick_forever 分享
DAY 20

[Day 20] 優雅地處理錯誤(一):設計統一的 API 錯誤回報機制

在六邊形架構中,會穿過邊界的,只有 domain 物件 和 interface adapter 之間的資料結構,像是 Input、Output、DBUserMo...

2025-09-20 ‧ 由 nick_forever 分享