gin接口
时间: 2023-10-02 14:04:20 浏览: 99
Gin 是一个用 Go 语言编写的 Web 框架,它提供了高性能、简洁易用的 API 接口,适合用于构建 RESTful API 服务。下面是一个简单的 Gin 接口示例:
```go
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
// 定义 GET 请求的路由
r.GET("/hello", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "Hello, World!",
})
})
// 启动 HTTP 服务器
r.Run(":8080")
}
```
在上面的示例中,我们使用 `gin.Default()` 创建了一个默认的 Gin 引擎,然后使用 `r.GET()` 定义了一个 GET 请求的路由,当用户访问 `/hello` 路径时,服务器会返回一个 JSON 格式的响应,其中包含了一个 `"message"` 字段,值为 `"Hello, World!"`。最后,使用 `r.Run()` 启动了 HTTP 服务器,并监听在 `:8080` 端口上。
相关问题
请你帮我写一个gin接口,传入一串字符作为参数,将参数作为商品序号,在数据库中找到对应的商品并将商品信息发出
好的,以下是一个简单的示例代码:
```go
package main
import (
"database/sql"
"fmt"
"log"
"github.com/gin-gonic/gin"
_ "github.com/go-sql-driver/mysql"
)
type Product struct {
ID int `json:"id"`
Name string `json:"name"`
Price int `json:"price"`
}
func main() {
// 连接数据库
db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/mydb")
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 初始化 Gin
r := gin.Default()
// 定义接口
r.GET("/product/:id", func(c *gin.Context) {
// 获取参数
id := c.Param("id")
// 查询数据库
var product Product
err = db.QueryRow("SELECT * FROM products WHERE id=?", id).Scan(&product.ID, &product.Name, &product.Price)
if err != nil {
log.Fatal(err)
}
// 返回商品信息
c.JSON(200, product)
})
// 启动服务
err = r.Run(":8080")
if err != nil {
log.Fatal(err)
}
}
```
在上面的代码中,我们定义了一个 `Product` 结构体,用于存储商品信息。然后通过 `sql.Open` 函数连接了 MySQL 数据库,并在接口中使用了 `db.QueryRow` 函数查询了商品信息。最后使用 `c.JSON` 函数将商品信息以 JSON 格式返回给客户端。
注意,这里我们使用了 `:id` 占位符来接收商品序号参数。在查询语句中使用了 `?` 占位符来代表实际的参数值,这样可以防止 SQL 注入攻击。
golang gin 统计接口请求流量 代码
可以使用gin的中间件来统计接口请求流量,以下是示例代码:
```go
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
// 定义中间件
r.Use(func(c *gin.Context) {
// 统计请求流量
fmt.Println("请求流量统计:", c.Request.URL.Path)
c.Next()
})
// 定义路由
r.GET("/hello", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello World!",
})
})
// 启动服务
r.Run(":8080")
}
```
在这个示例中,我们定义了一个中间件来统计请求流量,每次请求时都会输出请求的URL路径。然后定义了一个路由,返回一个JSON格式的"Hello World!"消息。最后启动服务,监听8080端口。
当我们访问http://localhost:8080/hello时,控制台会输出以下信息:
```
请求流量统计: /hello
```
这样就完成了接口请求流量的统计。
阅读全文