Go语言Gin框架Web开发

  • Gin框架的介绍
  • Gin
  • Gin框架的接口用法
  • Gin框架的GET接口用法
  • Gin框架的POST接口用法
  • Gin框架的所有接口
  • 后纪


Gin框架的介绍

Gin

Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,已经发布了1.0版本。具有快速灵活,容错方便等特点。其实对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。

下面就Gin框架的接口的用法做一个简单的介绍

Gin框架的接口用法

Gin的接口有GET/POST/PUT/PATCH/DELETE/OPTIONS,
GET接口请求:参数会被完整保留在浏览器历史记录里。
POST接口请求:后一个请求不会把第一个请求覆盖掉。
PUT接口请求:如果两个请求相同,后一个请求会把第一个请求覆盖掉。
PATCH接口请求:用来更新资源的一个组成部分。
DELETE接口请求:用来删除里面所有资源。
OPTIONS接口请求:用来解决跨区域问题。
这些接口的用法如下

Gin框架的GET接口用法

package main

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

func main() {
	// 禁用控制台颜色
	// gin.DisableConsoleColor()
	//启用控制台颜色
	// gin.ForceConsoleColor()
	router:= gin.Default()
	//告诉gin去哪里找静态文件
	router.Static("/web", "web")
	//加载模板文件
	router.LoadHTMLGlob("templates/**/*")
	// GET端口接收请求
	router.GET("/", func(c *gin.Context) {
	//前端给的一个index的网页进行本机访问
		c.HTML(http.StatusOK, "index.html",nil)
	})
	//设置端口号
	// 如果你不配置PORT变量,默认会在8080 启动
	router.Run(":80")
}

Gin框架的POST接口用法

func main() {
	router := gin.Default()

	router.POST("/post", func(c *gin.Context) {
	//获取post参数
		message := c.PostForm("message")
		 // 此方法可以设置默认值
		nick := c.DefaultPostForm("id")

		c.JSON(http.StatusOK, gin.H{
			"id": id,
			"message": message,
		})
	})
	router.Run(":80")
}

Gin框架的所有接口

func main() {
	router := gin.Default()
/*
	router.GET("/Get", getting)
	router.POST("/Post", posting)
	router.PUT("/Put", putting)
	router.DELETE("/Delete", deleting)
	router.PATCH("/Patch", patching)
	router.HEAD("/Head", head)
	router.OPTIONS("/Options", options)
*/
	router.GET("/Get",func(context *gin.Context) {
        context.JSON(200,gin.H{
            "message":"get",
        })
    })
    router.POST("/Post",func(context *gin.Context) {
        context.JSON(200,gin.H{
            "message":"post",
        })
    })
    router.PUT("/put",func(context *gin.Context) {
        context.JSON(200,gin.H{
            "message":"put",
        })
    })
    router.DELETE("/Delete",func(context *gin.Context) {
        context.JSON(200,gin.H{
            "message":"delete",
        })
    })
    router.PATCH("/Patch",func(context *gin.Context) {
        context.JSON(200,gin.H{
            "message":"patch",
        })
    })
    router.HEAD("/Head",func(context *gin.Context) {
        context.JSON(200,gin.H{
            "message":"head",
        })
    })
 	router.OPTIONS("/Options",func(context *gin.Context) {
        context.JSON(200,gin.H{
            "message":"options",
        })
    })
	// 默认启动的是 8080端口,也可以自己定义启动端口
	router.Run(":80")
}

后纪

get和post接口用的还是比较简单用的也比较多,多支持一下哦!

如果你觉得文章写的还不错,欢迎你帮助宣传扩散一下,这将是我继续更新的动力,切忌不要白嫖,会让自己变得廉价,好的文章值得分享。

请记得给我一个赞哦!