使用Go語言建立Api Server
前言
RESTful APl是一種能讓兩個電腦系統透過網路交換資訊的介面,
身為App開發者,功能實作很大部分都需要仰賴api來獲取所需資訊,
為了避免Client Side常常因各種干擾(網路異常)造成測試不順,
於是有了本篇實作Local Api Server的誕生。
能實現Api Server的程式語言百百種,為什麼選擇Golang呢?
除了在GitHub上的程式語言熱門度排名擠入前三名,
圖源來源https://madnight.github.io/githut/#/pull_requests/2023/1
另一個重要的原因是Golang與我擅長的Kotlin相仿,可以直觀地讀code,大幅降地學習門檻,讓我能將較多的心力著重在App開發。
請注意,本篇採用local執行API server,所以App搭配時需要反轉tcp接口,App端才能順利取得response。
環境(以Window電腦開發)
環境設定
1.先至Golang官網安裝最新版本Go
Golang安裝網址: https://go.dev/dl/
2.到Visual Studio Code安裝所需版本
下載網址:https://code.visualstudio.com/download
3.建立空白資料夾(此篇路徑為 D:/<Your Path>/Golang)
4.從VS Code 開啟folder, 安裝Golang(圖上步驟依序操作)
接下來請點選show all command ,輸入 Go: Install/Update tools,以上動作完成後,環境架設皆完成了
內容實作
接著開始實作Server部分,除了go.mod, go.sum的為Module所需要之配置(請參閱下方的說明及連結)
go.mod 為相關Go包集合,基於替換舊有的GoPath方法來指定使用那些源文件,官方網站有詳細說明這邊僅簡單介紹
Go Modules Reference : https://go.dev/ref/mod
建立index.go和db.json,兩者都用New file來去新增
此篇預計會開三個Api,以下為Api Spec
依照 Api Spec 在 db.json寫入所需要的Response Body
全部完成後,記得Save all,打開終端機輸入go run index.go,成功的話應該會出現以下畫面
也可以用Postman試call api,成功會回應200
結語
前端開發者開發時期最頭痛的問題應該是測試api是否正確回應,比起放在App Local Resource中,以Local Server來測試可以簡單且快速新增所需response,App端的resource也不用放入測試用的json檔案,也大大減少Compiler時間。