Gin實踐 連載三 搭建Blog API’s(二)

NO IMAGE

編寫Tag的API’s、Models

專案地址:https://github.com/EDDYCJY/go…

本大節將會涉及到以下知識點:

gin:Golang的一個微框架,效能極佳

beego-validation:本節採用的beego的表單驗證庫,中文文件

gorm,對開發人員友好的ORM框架,英文文件

com,工具包
業務邏輯的編寫

我們開始編寫業務程式碼,部落格文章會有標籤的概念,

定義介面

本節正是編寫標籤的邏輯,我們想一想,一般介面為增刪改查是基礎的,那麼我們定義一下介面吧!

獲取標籤列表:GET(“/tags”)
新建標籤:POST(“/tags”)
更新指定標籤:PUT(“/tags/:id”)
刪除指定標籤:DELETE(“/tags/:id”)


編寫路由空殼

開始編寫路由檔案邏輯,在routers

註冊路由

我們開啟routers

當前目錄結構:

gin-blog/
├── conf
│   └── app.ini
├── main.go
├── middleware
├── models
│   └── models.go
├── pkg
│   ├── e
│   │   ├── code.go
│   │   └── msg.go
│   ├── setting
│   │   └── setting.go
│   └── util
│       └── pagination.go
├── routers
│   ├── api
│   │   └── v1
│   │       └── tag.go
│   └── router.go
├── runtime

檢驗路由是否註冊成功

回到命令列,執行go run main.go

執行成功,那麼我們愉快的開始編寫我們的介面吧!

下載依賴包


首先我們要拉取validation

編寫標籤列表的models邏輯

建立models

我們建立了一個Tag struct{}

c.Query

編寫新增標籤的路由邏輯

開啟routers

Postman

重啟服務,再在用Postman

編寫其餘介面的models邏輯

開啟models

驗證功能

重啟服務,用Postman

PUT訪問http://127.0.0.1:8000/api/v1/tags/1?name=edit1&state=0&modified_by=edit1,檢視code是否返回200
DELETE訪問http://127.0.0.1:8000/api/v1/tags/1,檢視code是否返回200

至此,Tag的API’s完成,下一節我們將開始Article的API’s編寫!

參考

本系列示例程式碼

go-gin-example

本系列目錄

Gin實踐 連載一 Golang介紹與環境安裝
Gin實踐 連載二 搭建Blog API’s(一)
Gin實踐 連載三 搭建Blog API’s(二)
Gin實踐 連載四 搭建Blog API’s(三)
Gin實踐 連載五 搭建Blog API’s(四)
Gin實踐 連載六 搭建Blog API’s(五)
Gin實踐 連載七 Golang優雅重啟HTTP服務
Gin實踐 連載八 為它加上Swagger
Gin實踐 連載九 將Golang應用部署到Docker
Gin實踐 連載十 定製 GORM Callbacks
Gin實踐 番外 Golang交叉編譯