Gin框架 | 青训营 ;

102 阅读2分钟

Gin是一个非常受欢迎的Golang Web框架,在GitHub上已经有47k的星星,它和Golang的语法一样简洁明了,使得初学者得以迅速入门。

一.使用gin框架的准备

(1)下载gin(找gin的官方文档)

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

 (2)安装Postman

        官网下载

二.初始gin

(1)使用gin编写一个接口

package main

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

func Index(context *gin.Context) {
	context.String(200, "Hello 枫枫!")
}
func main() {
	//1.创建一个默认路由
	router := gin.Default()

	//2.绑定路由规则和路由函数,访问/index的路由,将由对应的函数去处理
	router.GET("/index", Index)

	//3.启动监听,gin会把web服务运行在本机的0.0.0.0:8080端口上,0.0.0.0代表本机所有IP
	router.Run("0.0.0.0:8080")
	// 用原生http服务的方式, router.Run本质就是http.ListenAndServe的进一步封装
	//http.ListenAndServe(":8080", router)
}

三.响应

(1)响应json(重点)

package main

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

func _string(c *gin.Context) {
	//状态码:200表示正常响应,这个位置也可以写http.StatusOK,这两个是一样的
	c.String(200, "你好呀")
}
func _json(c *gin.Context) {
	//json响应结构体
	type UserInfo struct {
		UserName string `json:"user_name"` //json的作用是使输出结果变为{"user_name":"枫枫","age":23},不加json,输出结果为{"UserName":"枫枫","Age":23}
		Age      int    `json:"age"`
		Password string `json:"-"`
		//忽略转换为json,即在json后加-,这样密码就不会显示出来,输出结果为{"user_name":"枫枫","age":23},
		//若不加json,则输出结果为{"user_name":"枫枫","age":23,"Password":"123456"},这样密码就显示出来了,这是不安全的,所以用这种格式`json:"-"`
	}

	//实例化
	user := UserInfo{"枫枫", 23, "123456"}
	c.JSON(200, user)

	//json响应map
	/*userMap := map[string]string{
		"user_name": "枫枫",
		"Age":       "23",
	}
	c.JSON(200, userMap)*/

	//直接响应json
	//c.JSON(200, gin.H{"username": "枫枫", "age": 23})

}

func main() {
	router := gin.Default()
	router.GET("/", _string)
	router.GET("/json", _json)
	router.Run(":80")

}

本文主要介绍了gin框架的一些用法,并通过例子进行了进一步理解,更多内容可以在官网上搜索。