gin框架:安装使用、restful增删改查

简介:Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。它具有类似 Martini 的 API,但性能比 Martini 快 40 倍。如果你需要极好的性能,使用 Gin 吧。目前gin框架github-star已达到63.2k,足以证明其强大以及受欢迎程度。

gin特性:

1、零分配路由。

2、仍然是最快的 http 路由器和框架。

3、完整的单元测试支持。

4、具备很强的实战考验。

5、API 冻结,新版本的发布不会破坏你的代码。

官网:

https://gin-gonic.com/

项目github:

https://github.com/gin-gonic/gin

历史攻略:

API-restful规范

sanic:view - restful普通和异步的写法

下载和安装:

go get -u github.com/gin-gonic/gin

服务端:gin.go

package main

import (
  "github.com/gin-gonic/gin"
  "time"
)

func GetTime() time.Time {
  return time.Now()
}
func main() {
  r := gin.Default()
  r.GET("/ping", func(c *gin.Context) {
    c.JSON(200, gin.H{
      "GET": GetTime(),
    })
  })

  r.POST("/ping", func(c *gin.Context) {
    c.JSON(200, gin.H{
      "POST": GetTime(),
    })
  })

  r.PUT("/ping", func(c *gin.Context) {
    c.JSON(200, gin.H{
      "PUT": GetTime(),
    })
  })

  r.PATCH("/ping", func(c *gin.Context) {
    c.JSON(200, gin.H{
      "PATCH": GetTime(),
    })
  })

  r.DELETE("/ping", func(c *gin.Context) {
    c.JSON(200, gin.H{
      "DELETE": GetTime(),
    })
  })
  // 监听并在 127.0.0.1:8888 上启动服务
  _ = r.Run("127.0.0.1:8888")
}

客户端python-requests访问结果:

# -*- coding: utf-8 -*-
# time: 2022/10/01 11:01
# file: requests_demo.py
# 公众号: 玩转测试开发
import requests


def test_api(url, method):
    request_dict = {
        "get": requests.get(url).json(),
        "post": requests.post(url).json(),
        "put": requests.put(url).json(),
        "patch": requests.patch(url).json(),
        "delete": requests.delete(url).json(),
    }

    return request_dict[method]


if __name__ == '__main__':
    url = "http://127.0.0.1:8888/ping"
    methods = ["get", "post", "put", "patch", "delete"]
    for method in methods:
        res = test_api(url, method)
        print(res)

客户端访问结果:

图片

服务端gin被访问结果:

图片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值