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

NO IMAGE

編寫Article的API’s、Models

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

定義介面

本節編寫文章的邏輯,我們定義一下介面吧!

獲取文章列表:GET(“/articles”)
獲取指定文章:POST(“/articles/:id”)
新建文章:POST(“/articles”)
更新指定文章:PUT(“/articles/:id”)
刪除指定文章:DELETE(“/articles/:id”)

編寫路由邏輯

routers

我們開啟routers

當前目錄結構:

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

在基礎的路由規則配置結束後,我們開始編寫我們的介面吧!


編寫models邏輯

建立models

我們建立了一個Article struct {}

在這裡,我們拿出三點不同來講

1、 我們的Article

能夠達到關聯,首先是gorm

Preload

當前目錄結構:

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

驗證功能

我們重啟服務,執行go run main.go

使用Postman檢驗介面是否正常(大家可以選用合適的引數傳遞方式,此處為了方便展示我選用了URL傳參),

POST:http://127.0.0.1:8000/api/v1/articles?tag_id=1&title=test1&desc=test-desc&content=test-content&created_by=test-created&state=1
GET:http://127.0.0.1:8000/api/v1/articles
GET:http://127.0.0.1:8000/api/v1/articles/1
PUT:http://127.0.0.1:8000/api/v1/articles/1?tag_id=1&title=test-edit1&desc=test-desc-edit&content=test-content-edit&modified_by=test-created-edit&state=0
DELETE:http://127.0.0.1:8000/api/v1/articles/1

至此,我們的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交叉編譯