首页后端开发其他后端知识Gin框架搭建简易服务的详细操作步骤是什么

Gin框架搭建简易服务的详细操作步骤是什么

时间2024-03-26 06:26:04发布访客分类其他后端知识浏览1286
导读:关于“Gin框架搭建简易服务的详细操作步骤是什么”的知识点有一些人不是很理解,对此小编给大家总结了相关内容,文中的内容简单清晰,易于学习与理解,具有一定的参考学习价值,希望能对大家有所帮助,接下来就跟随小编一起学习一下“Gin框架搭建简易服...
关于“Gin框架搭建简易服务的详细操作步骤是什么”的知识点有一些人不是很理解,对此小编给大家总结了相关内容,文中的内容简单清晰,易于学习与理解,具有一定的参考学习价值,希望能对大家有所帮助,接下来就跟随小编一起学习一下“Gin框架搭建简易服务的详细操作步骤是什么”吧。

go语言web框架挺多的,各有各的特点和风格。我之所以在项目中使用gin框架,是因为项目一开始是用的martini,一个设计得很好的框架,但是存在一个比较严重的问题,就是大量使用反射使用太多导致效率过低(这个问题也导致了程序在访问量暴涨时内存上涨过快的问题),而且这个框架在去年就没有人维护了,而作者推荐使用风格很相近的gin框架,大概看了一下,风格确实差不多,而且效率很高,于是就用了gin。至于其它的框架,了解得比较多的是beego,项目中也使用了它的子项目beelog,但是由于我做的项目是偏向于应用服务,而不是网站服务,它的风格更适合网站服务,因此就没有选择它。

贴一下这两个框架的github仓库,martini就不推荐了

gin
beego

下面贴一下用gin搭建一个简易的应用服务的代码片段,非常的简单,看一下代码注释也很容易理解。

package main

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

func main() {


    gin.SetMode(gin.DebugMode) //全局设置环境,此为开发环境,线上环境为gin.ReleaseMode
    router := gin.Default()    //获得路由实例

    //添加中间件
    router.Use(Middleware)
    //注册接口
    router.GET("/simple/server/get", GetHandler)
    router.POST("/simple/server/post", PostHandler)
    router.PUT("/simple/server/put", PutHandler)
    router.DELETE("/simple/server/delete", DeleteHandler)
    //监听端口
    http.ListenAndServe(":8005", router)
}


func Middleware(c *gin.Context) {

    fmt.Println("this is a middleware!")
}


func GetHandler(c *gin.Context) {

    value, exist := c.GetQuery("key")
    if !exist {

        value = "the key is not exist!"
    }

    c.Data(http.StatusOK, "text/plain", []byte(fmt.Sprintf("get success! %s\n", value)))
    return
}

func PostHandler(c *gin.Context) {

    type JsonHolder struct {

        Id   int    `json:"id"`
        Name string `json:"name"`
    }

    holder := JsonHolder{
Id: 1, Name: "my name"}

    //若返回json数据,可以直接使用gin封装好的JSON方法
    c.JSON(http.StatusOK, holder)
    return
}

func PutHandler(c *gin.Context) {

    c.Data(http.StatusOK, "text/plain", []byte("put success!\n"))
    return
}

func DeleteHandler(c *gin.Context) {

    c.Data(http.StatusOK, "text/plain", []byte("delete success!\n"))
    return
}
    

用curl命令访问这些接口可以得到对应的返回结果

程序的日志输出

这里只是快速上手的一些方法,作为一个web服务框架,功能当然非常强大,这就需要在实际使用中慢慢挖掘和深究了。


以上就是关于Gin框架搭建简易服务的详细操作步骤是什么的介绍啦,需要的朋友可以参考上述内容,希望对大家有帮助,欢迎关注网络,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Gin框架搭建简易服务的详细操作步骤是什么
本文地址: https://pptw.com/jishu/653318.html
ajax跨域问题出现几种情况是什么,如何解决跨域 Go语言字符串拼接的方式包括了哪一些

游客 回复需填写必要信息