【koa 源码解析】【php置顶源码】【cc源码iapp】gocontext源码分析

来源:ap源码深度解读

1.如何评价golang的码分gin框架?
2.Gitea源码分析(一)
3.gin框架原理详解(gin框架是什么)

gocontext源码分析

如何评价golang的gin框架?

       如何评价 Golang 的 Gin 框架?

       Gin 是 Golang 世界里最流行的 web 框架,它基于 Golang HTTP 标准库 net//手败gin-gonic/gin

       一个简单的码分例子:

       packagemain

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

       funcmain(){

       //Default返回一个默认的路由引擎

       r:=gin.Default()

       r.GET("/ping",func(c*gin.Context){

       //输出json结果给调用方

       c.JSON(,gin.H{

       "message":"pong",

       })

       })

       r.Run()//listenandserveon0.0.0.0:

       }

       编译运行程序,打开浏览器,码分访问页面显示:

       { "message":"pong"}

       gin的码分koa 源码解析功能不只是简单输出Json数据。它是码分一个轻量级的WEB框架,支持RestFull风格API,码分支持GET,码分POST,码分PUT,码分PATCH,码分DELETE,码分php置顶源码OPTIONS等/gin-gonic/gin"

       )

       funcmain(){

       router:=gin.Default()

       //静态资源加载,码分本例为css,码分js以及资源

       router.StaticFS("/public",/ffhelicopter/tmm/website/static"))

       router.StaticFile("/favicon.ico","./resources/favicon.ico")

       //Listenandserveon0.0.0.0:

       router.Run(":")

       }

       首先需要是生成一个Engine,这是码分gin的核心,默认带有Logger和Recovery两个中间件。码分

       router:=gin.Default()

       StaticFile是cc源码iapp加载单个文件,而StaticFS是加载一个完整的目录资源:

       func(group*RouterGroup)StaticFile(relativePath,filepathstring)IRoutes

       func(group*RouterGroup)StaticFS(relativePathstring,fs/gin-gonic/gin

       如果安装失败,直接去Githubclone下来,放置到对应的目录即可。

       (2)代码中使用:

       下面是一个使用Gin的简单例子:

       packagemain

       import(

       "github.com/gin-gonic/gin"

       )

       funcmain(){

       router:=gin.Default()

       router.GET("/ping",func(c*gin.Context){

       c.JSON(,gin.H{

       "message":"pong",

       })

       })

       router.Run(":")//listenandserveon0.0.0.0:

       }

       简单几行代码,就能实现一个web服务。Boot源码下载使用gin的Default方法创建一个路由handler。然后通过HTTP方法绑定路由规则和路由函数。不同于net/e"}。

       注:Gin还包含更多的返回方法如c.String,c.HTML,c.XML等,请自行了解。源码安装ros可以方便的返回HTML数据

       我们在之前的组v1路由下新定义一个路由:

       下面我们访问

       可以看到,通过c.Param(“key”)方法,Gin成功捕获了url请求路径中的参数。同理,gin也可以捕获常规参数,如下代码所示:

       在浏览器输入以下代码:

       通过c.Query(“key”)可以成功接收到url参数,c.DefaultQuery在参数不存在的情况下,会由其默认值代替。

       我们还可以为Gin定义一些默认路由:

       这时候,我们访问一个不存在的页面:

       返回如下所示:

       下面我们测试在Gin里面使用Post

       在测试端输入:

       附带发送的数据,测试即可。记住需要使用POST方法.

       继续修改,将PostHandler的函数修改如下

       测试工具输入:

       发送的内容输入:

       返回结果如下:

       备注:此处需要指定Content-Type为application/x-www-form-urlencoded,否则识别不出来。

       一定要选择对应的PUT或者DELETE方法。

       Gin框架快速的创建路由

       能够方便的创建分组

       支持url正则表达式

       支持参数查找(c.Paramc.Queryc.PostForm)

       请求方法精准匹配

       支持处理

       快速的返回给客户端数据,常用的c.Stringc.JSONc.Data

文章所属分类:焦点频道,点击进入>>