golang-gin框架

Posted zengyjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang-gin框架相关的知识,希望对你有一定的参考价值。

import (
    "github.com/gin-gonic/gin"
    "net/http"
    "github.com/sirupsen/logrus"
)


// 1、最简单gin
func GinSample(){
    engine := gin.Default()
    engine.Any("/",func(context *gin.Context){
        context.String(http.StatusOK,"hello world")
    })
    engine.Run(":9025")
}

// 2、gin各种方法
func GinFunc(){
    engine := gin.Default()

    // get
    engine.GET("/get",func(context *gin.Context){
        context.JSON(http.StatusOK,gin.H{"message":"hello world","status":"done"})
    })

    // put
    engine.PUT("/put",func(context *gin.Context){
        context.String(http.StatusOK,"put ok")
    })

    // post
    engine.POST("/post",nil)
    //...
    engine.Run(":9025")
}

// 3、gin 解析入参
func GinGetParam(){
    engine := gin.Default()
    engine.GET("/get/:name/*action",func(context *gin.Context){
        name := context.Param("Guest")
        action := context.Param("action")
        context.String(http.StatusOK,"welcome " + name + action)
    })
    engine.Run(":9025")
}

// 4、gin 路由组
func GinGroup(){
    engine := gin.Default()
    v1 := engine.Group("/v1")
    {
        v1.GET("/get",nil) // handlers待实现
        v1.POST("post",nil)
    }

    v2 := engine.Group("/v2")
    {
        v2.GET("/get",nil)
        v2.POST("/post",nil)
    }
    engine.Run(":9025")
}

// 5、中间件
func Middle() {
    router := gin.Default()

    // 注册一个路由,使用了 middleware1,middleware2 两个中间件
    router.GET("/someGet", middleware1, middleware2, handler)

    // 默认绑定 :8080
    router.Run()
}

func handler(c *gin.Context) {
    logrus.Println("exec handler")
}

func middleware1(c *gin.Context){
    // do something
    c.Next()

}

func middleware2(c *gin.Context){
    // do something
    c.Next()
}

 

以上是关于golang-gin框架的主要内容,如果未能解决你的问题,请参考以下文章

text 来自Codyhouse框架的Browserlist片段源代码

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

常用Javascript代码片段集锦

SpringCloud系列四:Eureka 服务发现框架(定义 Eureka 服务端Eureka 服务信息Eureka 发现管理Eureka 安全配置Eureka-HA(高可用) 机制Eur(代码片段

HTML代码片段

HTML代码片段