golang开发微框架Gin的安装测试及简介

目录

  • 概述
  • 安装
  • 测试
    • 导包
    • 步骤
  • 切换输出的格式
    • 状态码
      • 示例
        • 前端

          概述 Gin是一个golang的微框架,封装比较优雅,API友好。具有快速灵活,容错方便等特点。Gin自身的net/http足够简单,性能也非常不错
          Gin下载: https://github.com/gin-gonic/gin
          英文文档:https://gin-gonic.com/docs/
          【golang开发微框架Gin的安装测试及简介】
          安装
          go get -u github.com/gin-gonic/gin


          测试
          导包
          import "github.com/gin-gonic/gin"import "net/http"//项目中使用了 http.StatusOK


          步骤
          注册一个路由器
          router := gin.Default()

          注册路由处理
          router.GET("/", func(c *gin.Context) {c.String(http.StatusOK, "Hello World")})

          运行(默认是8080端口)
          if true{router.Run()//默认端口:8080http://localhost}else{router.Run(":9999")//指端端口:9999http://localhost:9999}


          切换输出的格式 返回json格式
          func (c *Context) JSON(code int, obj interface{})

          返回xml格式
          func (c *Context) XML(code int, obj interface{})

          返回yaml格式
          func (c *Context) YAML(code int, obj interface{})

          返回string格式
          func (c *Context) String(code int, format string, values ...interface{})

          渲染html模板后返回
          func (c *Context) HTML(code int, name string, obj interface{})


          状态码 这个状态码不仅可以手动指定一个数字,比如200,500,404;也可以使用http包中的状态码,语义化的状态码更好理解;
          http-status文档:http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
          http状态码详解:http://tool.oschina.net/commons?type=5
          HTTP状态码的分类
          分类 描述
          1** 信息,服务器收到请求,需要请求者继续执行操作
          2** 成功,操作被成功接收并处理
          3** 重定向,需要进一步的操作以完成请求
          4** 客户端错误,请求包含语法错误或无法完成请求
          5** 服务器错误,服务器在处理请求的过程中发生了错误
          常用的状态码
          200 请求成功
          404 请求失败,服务器无法根据客户端的请求找到资源(网页)
          500 服务器内部错误,无法完成请求
          项目中导入
          import "net/http"

          package httpconst (StatusOK= 200 // RFC 7231, 6.3.1StatusMultipleChoices= 300 // RFC 7231, 6.4.1StatusNotFound= 404 // RFC 7231, 6.5.4StatusInternalServerError= 500 // RFC 7231, 6.6.1)


          示例
          package mainimport("github.com/gin-gonic/gin""net/http""fmt")func main() {//1. 注册一个路由器router := gin.Default()//2. 注册路由处理//默认请求http://localhost:8080/router.GET("/", func(c *gin.Context) {c.String(http.StatusOK, fmt.Sprintln(gin.H{"data":"默认请求"}))})//post 请求string 格式话http://localhost:8080/stringrouter.GET("/string", func(c *gin.Context) {c.String(http.StatusOK, fmt.Sprintln("post 请求string 格式话"))})//post 请求json 格式话http://localhost:8080/jsonrouter.POST("/json",func (c *gin.Context){c.JSON(http.StatusOK,gin.H{"name":"post 请求json 格式话","age":18})})//delete 请求 xml 格式化http://localhost:8080/xmlrouter.DELETE("/xml",func (c *gin.Context){c.XML(http.StatusOK,gin.H{"name":"delete 请求 xml 格式化","age":18})})//patch 请求yaml 格式化http://localhost:8080/yamlrouter.PATCH("/yaml",func (c *gin.Context){c.YAML(http.StatusOK,gin.H{"name":"patch 请求 yaml 格式化","age":18})})//get请求 html界面显示http://localhost:8080/htmlrouter.GET("/html",func (c *gin.Context){router.LoadHTMLGlob("../view/tem/index/*")//这是前台的index// router.LoadHTMLGlob("../view/tem/admin/*")//这是后台的index// router.LoadHTMLFiles("../view/tem/index.html")//指定加载某些文件c.HTML(http.StatusOK,"index.html",nil)})//3. 运行(默认是8080端口)router.Run()}


          前端
          路径:$GOPATH/src/view/tem/index/
          - 锐客网前端 index

          以上就是golang微框架Gin的安装测试及简介的详细内容,更多关于Gin安装测试及简介的资料请关注脚本之家其它相关文章!

            推荐阅读