Gin是一個用Golang編寫的HTTP網絡框架。它的特點是類似於Martini的API,性能更好。在golang web開發領域是一個非常熱門的web框架。 啟動一個Gin web服務器 使用下面的命令安裝Gin 在代碼里添加依賴 快速啟動一個Gin服務器的代碼如下 核心 ...
微服務開發中服務間調用的主流方式有兩種HTTP RPC,HTTP相對來說比較簡單。本文將使用 Resty 包來實現基於HTTP的微服務調用。 Resty簡介 Resty 是一個簡單的HTTP和REST客戶端工具包,簡單是指使用上非常簡單。Resty在使用簡單的基礎上提供了非常強大的功能,涉及到HTTP客戶端的方方面面,可以滿足我們日常開發使用的大部分需求。 go get安裝 使用Resty提交H ...
2020-12-09 13:42 0 705 推薦指數:
Gin是一個用Golang編寫的HTTP網絡框架。它的特點是類似於Martini的API,性能更好。在golang web開發領域是一個非常熱門的web框架。 啟動一個Gin web服務器 使用下面的命令安裝Gin 在代碼里添加依賴 快速啟動一個Gin服務器的代碼如下 核心 ...
Golang天生適合運行在docker容器中,這得益於:Golang的靜態編譯,當在編譯的時候關閉cgo的時候,可以完全不依賴系統環境。 一些基礎 測試容器時我們經常需要進入容器查看運行情況,以下命令啟動一個centos容器並進入bash交互環境。 -it 組合參數-i: 以交互模式運行容器 ...
JSON Web Token(JWT)是一種很流行的跨域認證解決方案,JWT基於JSON可以在進行驗證的同時附帶身份信息,對於前后端分離項目很有幫助。 JWT由三部分組成,每個部分之間用點.隔開,分別稱為HEADER、PAYLOAD和VERIFY SIGNATURE。HEADER ...
在前兩篇文章介紹路由的時候,我們了解到gin可用通過類似DefaultQuery或DefaultPostForm等方法獲取到前端提交過來的參數。參數不多的情況下也很好用,但是想想看,如果接口有很多個參數的時候再用這種方法就要調用很多次獲取參數的方法,本文將介紹一種新的接收參數的方法來解決這個問題 ...
gin中間件(middleware)提供了類似於面向切面編程或路由攔截器的功能,可以在請求前和請求之后添加一些自定義邏輯。實際開發中有很多場景會用到中間件,例如:權限驗證,緩存,錯誤處理,日志,事務等。 使用中間件 gin的中間件分為三類:全局中間件、路由中間件、分組路由中間件。 全局中間件 ...
Gin除了模型綁定還提供了模型驗證功能。你可以給字段指定特定的規則標簽,如果一個字段用binding:"required"標簽修飾,在綁定時該字段的值為空,那么將返回一個錯誤。開發web api的時候大部分參數都是需要驗證的,比如email參數要驗證是否是郵箱格式、phone參數要驗證是否 ...
在前后端分離的項目維護一份完整且及時更新的api文檔會極大的提高我們的工作效率,傳統項目中接口文檔都是由后端開發手寫的,這種文檔很難保證及時性,久而久之便失去了參考意義。swagger給我們提供了一種新的維護文檔的方式,在gin中只需要編寫一些注釋即可生成一份可交互的接口文檔。 引入這些包之后 ...
本文是對前幾篇文章的一些補充,主要包含兩部分:單元測試和實際項目中使用路由的小問題。 拾遺1:單元測試 Golang單元測試要求代碼文件以_test結尾,單元測試方法以Test開頭,參數為*testing.T類型。以下是一個計算hash值的工具包和對應的單元測試。 hashUtils.go ...