Go Generate & Makefile-番外篇
因為接下來如果要進行測試,勢必得在建立每個interface的時候都要新增一次mock interface,而且未來如果這個interface要擴增的時候,又得再重新輸入一次指令,所以在gomock官網中有提到,如果想要批次建立mock file,可以透過
因為接下來如果要進行測試,勢必得在建立每個interface的時候都要新增一次mock interface,而且未來如果這個interface要擴增的時候,又得再重新輸入一次指令,所以在gomock官網中有提到,如果想要批次建立mock file,可以透過
在這邊要介紹一下go的基本用法
那就接續著昨天的內容,今天提到的也是大家常用的function及slice
最後要介紹的是在Golang中比較特別的struct/method/interface
這個就要介紹到golang的另一個特性
export/unexport(private/public)
RESTful api是什麼
在這個之前的程式,都是先到資料庫那邊下語法建好表,然後再到程式這邊新增需要的屬性,但這個會有個問題是,如果有一天你需要到新的環境將你的程式部署起來,或是你需要兩個月前的資料庫型態,這時候就會發生你不知道之前執行了什麼樣的sql語法,不曉得兩個月前的資料庫長得怎麼樣(在你資料庫沒有定期備份的情況下)
在上一篇文章中,已經把資料表都建好了,接下來就要來將程式中的內容也建立起來
前面介紹了那麼多內容,那接下來就讓我們來實作第一個restful api server吧
在上一步我們建立了一個基礎的echo的server
接下來,我們目前開了兩組的api的規範,緊接著就要在golang裡面撰寫實際的api了
在實作RESTful api時,會需要模擬實際用戶使用你的api的情境,這時候postman就派得上用場了,而且除此之外,還可以透過postman來讓用戶知道你的api是要如何使用,所以也可以把postman的文件當成你的api的文件,是個很好用的工具,他還有很多其他的功能,之後有機會再帶大家來操作,這次就先以他最基本使用到的模擬用戶使用的功能為主軸吧
在上篇的內容中,我們將資料庫的連線字串放進程式碼中,並寫死在裡面,但在常規的程式開發中,這樣是非常不安全,因為你不會知道你的程式會被誰看到,因此需要將這個連線的內容放到環境變數中,讓程式碼中不要出現這類的帳號密碼
在一個網頁後端程式中,主要都是負責資料的處理,關於資料的儲存則是會交由專門處理資料庫的系統來處理
那在接下來的內容中,會說明將gorm接上postgreSQL的過程
在之前的開發過程中,會發現整個main.go越來越長,在閱讀理解上會相對沒有那麼直覺且快速,因此接下來要將目前完成的內容做個重構
當我們建立起最簡單的RESTful api後,接下來我們就要將測試也放到我們的程式中了
接下來就是我要將測試放入現在正在進行的api中了
在之前的過程中,已經建立了request以及command,而預計的規劃是可以透過一個command來觸發多個request的功能,而且多個command可以觸發同一個request,而觸發的順序可以自己定義,那要完成這個需求,預計要多開一張表,名為commands_requests,而這張表的主要目的是要將commands跟requests建立起關聯,因此目前規劃的欄位有
大致的api都開設完成了,在這次的專案中,目前預計會實作的測試為實際的request是否可以完整執行,因為這麼實作,就可以把測試案例寫在程式中頻繁地進行測試,來做到向下兼容的部分
在接下來的內容,要將測試案例在變得更多
接續上篇提到的內容,這篇提到的主要會是golang與react會需要的環境配置
因為這次需要開發的內容涉及前後端,所以環 境配置的部分會分成幾個部分下來討論
在上一篇內容中提到一個伺服器需要以怎麼樣的規格跟方式來跟用戶溝通,來讓他們找尋/新增他們需要的服務,但接下來的問題是,那我們該把用戶需要的資料放到哪裡呢?
目的
在網頁的後端,除了要能正常地給存取資料,另一個重要的功能就是要有驗證資料是不是正確的功能,當使用者提供了一個不符合我們需求的資料時,就需要我們主動體醒使用者你哪邊有問題,應該往什麼方向去改
此次主要修正內容是將在定義資料庫的內容移動到pq的schema中,以及將兩個model都套用之前的設計概念,以及將error放入middleware中,以統一error message