编程语言
首页 > 编程语言> > 使用 Go 和 gin-gorm 构建简单的 REST API

使用 Go 和 gin-gorm 构建简单的 REST API

作者:互联网

REST ( Representational State Transfer ) 是一种使用 HTTP 协议进行数据交换的通信架构方法。应用程序编程接口(API)是计算机之间或计算机程序之间的连接。它是一种软件接口,为其他软件提供服务。简而言之,API 可以使其他应用程序,无论是移动应用程序还是其他应用程序,都可以与我们的应用程序进行通信。

在这篇文章中,我想分享如何使用gin和gorm以简单的方式在 Go 中创建一个简单的 REST API。

首先,使用 go mod 命令创建新的 go 项目

# 创建文件夹
mkdir go-api 
# 将目录更改为 go-api 
cd go-api 
# 初始化 go 项目
go mod init go-api

安装 gin 包

去获取-u github.com/gin-gonic/gin

安装 gorm 包和 db 驱动,db 驱动可以根据需要定制。对于支持的数据库驱动程序,您可以在此处签入。在这篇文章中,我将使用 postgreSQL。

去获取-u gorm.io/gorm
去获取-u gorm.io/driver/postgres

由于 Go 让我们根据自己的需要构建项目,而且 Go 没有标准结构。这是我将用于此项目的结构,或者您可以定义自己的结构。

 

src/config
为 set db connection in 创建一个 go 文件,我将在as中创建它db.go

数据库

导入( 
 "gorm.io/driver/postgres" 
 "gorm.io/gorm"
 ) 

func  Connect () *gorm.DB { 
dsn := "host=localhost user=root password=root dbname=go-api port= 9920 sslmode=disable TimeZone=Asia/Shanghai"
 db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) 
 if err != nil { 
  panic (err) 
}

 返回db 
}

然后创建一个结构来表示我们来自数据库的数据,在此我将创建一个简单的src/apps/post/model.go

package post 

type Post struct { 
ID     int     `json:"id"`
标题字符串 `json:"title"`
正文  字符串 `json:"body"`
 }

然后创建一个控制器或处理程序文件src/apps/post/handler.go

 

创建一个 go 文件src/cmd/main/main.go,然后添加代码来设置路由器。

package main 

import ( 
 "go-api/src/apps/post" 
 "go-api/src/config/database" 

 "github.com/gin-gonic/gin"
 ) 

func  main () { 
 // 连接到数据库
db : = database.Connect() 

 // 迁移数据库
db.AutoMigrate(&post.Post{}) 

 // 创建post处理程序
postHandler := post.NewPostHandler(db) 

 // 创建路由器
router := gin.Default() 
api := router .Group( "/api" ) 
postRoute := api.Group( "/post" ) 
postRoute.GET( "" , postHandler.GetPosts) 
postRoute.GET( "/:id", postHandler.GetPost) 
postRoute.POST( "" , postHandler.CreatePost) 
postRoute.PUT( "/:id" , postHandler.UpdatePost) 
postRoute.DELETE( "/:id" , postHandler.DeletePost) 

 // 运行服务器
路由器。运行()
}

测试
运行go run src/cmd/main/main.go,一旦我们的应用程序运行,我们就可以使用邮递员、失眠等应用程序测试我们的 API。我将使用邮递员来测试我们的 API。

        更新帖子

标签:Web开发,后端,编程
来源: