在golangAPI基礎上建立其他路由Group,利用Get方法使Gin回傳HTML給client端的瀏覽器。在main.go當中寫入路由及欲調用函式。如下:
由GET方法調用tmpCtrl裡的func回傳已經事先load好的tmpl檔案。則POST方法就是給網頁動態加載內容所要用到的。tmpl內會寫JavaScript並new一個HXR向server請求資料。Static靜態資料,如圖片、CSS等..都可以設定路由使其可以直接加載。
透過POST傳入Data參數讓serverApi去對應map找到要調用的func並且向server內的mongo資料庫撈取資料以JSON形式回傳給client端,瀏覽器這邊在將接收到的資料進行解析,並顯示在網頁上。
比較值得注意的是tmpl跟html還是會有不同,像python的Flask框架就是用html檔就行繼承板模語法就是{% extends "layout.html" %}等..但gin隨然也可以讀取html檔,不過不使用他的tmpl當就是繼承板模會比較難寫。不按照他的語法規則就讀取不到。所以view的部分都使用tmpl檔的{{ template "header.tmpl"}}。
專案git: git clone https://github.com/yusei27017/golangGinBlog.git