当前位置: 首页 > news >正文

做网站电话php建设网站后台

做网站电话,php建设网站后台,nas 建网站,网站建设采购合同验收Go语言GIN框架安装与入门 文章目录 Go语言GIN框架安装与入门1. 创建配置环境2. 配置环境3. 下载最新版本Gin4. 编写第一个接口5. 静态页面和资源文件加载6. 各种传参方式6.1 URL传参6.2 路由形式传参6.3 前端给后端传递JSON格式6.4 表单形式传参 7. 路由和路由组8. 项目代码mai…Go语言GIN框架安装与入门 文章目录 Go语言GIN框架安装与入门1. 创建配置环境2. 配置环境3. 下载最新版本Gin4. 编写第一个接口5. 静态页面和资源文件加载6. 各种传参方式6.1 URL传参6.2 路由形式传参6.3 前端给后端传递JSON格式6.4 表单形式传参 7. 路由和路由组8. 项目代码main.go9. 总结 之前学习了一周的GO语言学会了GO语言基础现在尝试使用GO语言最火的框架GIN来写一些简单的接口。看了B站狂神说的GIN入门视频基本明白如何写接口了下面记录一下基本的步骤。 1. 创建配置环境 我们使用Goland创建第一个新的开发环境这里只要在windows下面安装好Go语言Goroot都能自动识别。 新的项目也就只有1个go.mod的文件用来表明项目中使用到的第三方库。 2. 配置环境 我们使用第三方库是需要从github下载的但是github会经常连不上所以我们就需要先配置第三方的代理地址。我们再Settings-Go-Go Modules-Environment下面配上代理地址。 GOPROXYhttps://goproxy.cn,direct3. 下载最新版本Gin 在IDE里面的Terminal下面安装Gin框架使用下面的命令安装Gin安装完成以后go.mod下面require就会自动添加依赖。 go get -u github.com/gin-gonic/gin4. 编写第一个接口 创建main.go文件然后编写以下代码这里定义了一个/hello的路由。 package mainimport github.com/gin-gonic/ginfunc main() {ginServer : gin.Default()ginServer.GET(/hello, func(context *gin.Context) {context.JSON(200, gin.H{msg: hello world})})ginServer.Run(:8888)}编译运行通过浏览器访问就可以输出JSON。 5. 静态页面和资源文件加载 使用下面代码加入项目下面的静态页面(HTML文件)以及动态资源(JS)。 // 加载静态页面ginSever.LoadHTMLGlob(templates/*)// 加载资源文件ginSever.Static(/static, ./static) 这是项目的资源文件列表 其中index.html文件如下 !DOCTYPE html html langen headmeta charsetUTF-8title我的第一个GO web页面/titlelink relstylesheet href/static/css/style.cssscript src/static/js/common.js/script /head bodyh1谢谢大家支持/h1获取后端的数据为 {{.msg}}form action/user/add methodpostpusername: input typetext nameusername/pppassword: input typetext namepassword/pbutton typesubmit 提 交 /button /form/body /html接着就可以响应一个页面给前端了。 // 响应一个页面给前端ginSever.GET(/index, func(context *gin.Context) {context.HTML(http.StatusOK, index.html, gin.H{msg: 这是go后台传递来的数据,})})6. 各种传参方式 6.1 URL传参 在后端获取URL传递来的参数。 // 传参方式//http://localhost:8082/user/info?userid123usernamedfaginSever.GET(/user/info, myHandler(), func(context *gin.Context) {// 取出中间件中的值usersession : context.MustGet(usersession).(string)log.Println(, usersession)userid : context.Query(userid)username : context.Query(username)context.JSON(http.StatusOK, gin.H{userid: userid,username: username,})}) 其中上面多加了一个中间键就是接口代码运行之前执行的代码myHandler的定义如下 // go自定义中间件 func myHandler() gin.HandlerFunc {return func(context *gin.Context) {// 设置值后续可以拿到context.Set(usersession, userid-1)context.Next() // 放行} }6.2 路由形式传参 // http://localhost:8082/user/info/123/dfaginSever.GET(/user/info/:userid/:username, func(context *gin.Context) {userid : context.Param(userid)username : context.Param(username)context.JSON(http.StatusOK, gin.H{userid: userid,username: username,})})6.3 前端给后端传递JSON格式 // 前端给后端传递jsonginSever.POST(/json, func(context *gin.Context) {// request.bodydata, _ : context.GetRawData()var m map[string]interface{}_ json.Unmarshal(data, m)context.JSON(http.StatusOK, m)})6.4 表单形式传参 ginSever.POST(/user/add, func(context *gin.Context) {username : context.PostForm(username)password : context.PostForm(password)context.JSON(http.StatusOK, gin.H{msg: ok,username: username,password: password,})})7. 路由和路由组 // 路由ginSever.GET(/test, func(context *gin.Context) {context.Redirect(http.StatusMovedPermanently, https://www.baidu.com)})// 404ginSever.NoRoute(func(context *gin.Context) {context.HTML(http.StatusNotFound, 404.html, nil)})// 路由组userGroup : ginSever.Group(/user){userGroup.GET(/add)userGroup.POST(/login)userGroup.POST(/logout)}orderGroup : ginSever.Group(/order){orderGroup.GET(/add)orderGroup.DELETE(delete)}8. 项目代码main.go package mainimport (encoding/jsongithub.com/gin-gonic/ginlognet/http )// go自定义中间件 func myHandler() gin.HandlerFunc {return func(context *gin.Context) {// 设置值后续可以拿到context.Set(usersession, userid-1)context.Next() // 放行} }func main() {// 创建一个服务ginSever : gin.Default()//ginSever.Use(favicon.New(./icon.png))// 加载静态页面ginSever.LoadHTMLGlob(templates/*)// 加载资源文件ginSever.Static(/static, ./static)//ginSever.GET(/hello, func(context *gin.Context) {// context.JSON(200, gin.H{msg: hello world})//})//ginSever.POST(/user, func(c *gin.Context) {// c.JSON(200, gin.H{msg: post,user})//})//ginSever.PUT(/user)//ginSever.DELETE(/user)// 响应一个页面给前端ginSever.GET(/index, func(context *gin.Context) {context.HTML(http.StatusOK, index.html, gin.H{msg: 这是go后台传递来的数据,})})// 传参方式//http://localhost:8082/user/info?userid123usernamedfaginSever.GET(/user/info, myHandler(), func(context *gin.Context) {// 取出中间件中的值usersession : context.MustGet(usersession).(string)log.Println(, usersession)userid : context.Query(userid)username : context.Query(username)context.JSON(http.StatusOK, gin.H{userid: userid,username: username,})})// http://localhost:8082/user/info/123/dfaginSever.GET(/user/info/:userid/:username, func(context *gin.Context) {userid : context.Param(userid)username : context.Param(username)context.JSON(http.StatusOK, gin.H{userid: userid,username: username,})})// 前端给后端传递jsonginSever.POST(/json, func(context *gin.Context) {// request.bodydata, _ : context.GetRawData()var m map[string]interface{}_ json.Unmarshal(data, m)context.JSON(http.StatusOK, m)})// 表单ginSever.POST(/user/add, func(context *gin.Context) {username : context.PostForm(username)password : context.PostForm(password)context.JSON(http.StatusOK, gin.H{msg: ok,username: username,password: password,})})// 路由ginSever.GET(/test, func(context *gin.Context) {context.Redirect(http.StatusMovedPermanently, https://www.baidu.com)})// 404ginSever.NoRoute(func(context *gin.Context) {context.HTML(http.StatusNotFound, 404.html, nil)})// 路由组userGroup : ginSever.Group(/user){userGroup.GET(/add)userGroup.POST(/login)userGroup.POST(/logout)}orderGroup : ginSever.Group(/order){orderGroup.GET(/add)orderGroup.DELETE(delete)}// 端口ginSever.Run(:8888)} 9. 总结 以上就是Gin入门的所有内容了大家觉得还有帮助欢迎点赞收藏哦。
http://www.dnsts.com.cn/news/53322.html

相关文章:

  • 淘宝客网站需要备案吗手机网页版登录入口
  • 山东app网站制作网站前端工资
  • 济南网站优化推广网站推广建设阶段
  • 兰州做网站或小程序品牌公司网站建设
  • 深圳网站建设 公司元苏州网站开发费用详情
  • 建网站大公司网站开发总监招聘
  • 杭州富阳做网站抚顺少儿编程哪家好
  • 做体育类网站素材网站数据维护
  • 注册公司是在哪个网站百度推广培训机构
  • 组建团队建设网站与开发需要多少钱福州seo计费
  • 竹子建站教程揭阳市榕城区建设局网站
  • 网页表单制作seo初级入门教程
  • 网站制作长春湖北手机网站建设
  • 宣城网站开发网络公司房屋设计师
  • 做钓鱼网站用哪种编程语言做软欧的网站
  • 商旅网站制作信息流优化师需要具备哪些能力
  • 卖机票的网站怎么做产品设计私单网站
  • 为什么有点网站打不开深圳制作小程序
  • 嘉兴微信网站建设关键词优化搜索引擎
  • 做电影网站心得体会买购网
  • 网页设计在线培训网站有哪些中国最新军事新闻头条今天
  • 做网站有个名字叫小廖鞍山便民信息平台
  • 杭州网站定制开发哪家好苏州找网络公司建网站
  • 设计素材网站导航大全常见网页制作工具
  • 单页wordpress主题企业网站的优化和推广方法
  • 珠宝营销型网站设计销售和营销的区别
  • 做2手物品通过网站去卖掉好做吗现在流行的网站开发语言
  • 怎么做企业营销型网站wordpress评论框第三方
  • 顺德精品网站建设工程建设教育培训
  • 沈阳做网站的电话中山建设企业网站