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

金融产品做网站推广怎么买域名自己做网站

金融产品做网站推广,怎么买域名自己做网站,WordPress套,做网站需要用到哪些编程知识目录 一:经典入门案例二:请求参数2.1: API参数2.2: URL参数2.3: 表单参数 三: 响应参数四:数据解析和绑定4.1: JSON数据解析绑定4.2: FROM表单数据解析和绑定 五: 路由组六:异步处理七:中间件7.…

目录

    • 一:经典入门案例
    • 二:请求参数
      • 2.1: API参数
      • 2.2: URL参数
      • 2.3: 表单参数
    • 三: 响应参数
    • 四:数据解析和绑定
      • 4.1: JSON数据解析绑定
      • 4.2: FROM表单数据解析和绑定
    • 五: 路由组
    • 六:异步处理
    • 七:中间件
      • 7.1: 全局中间件
      • 7.2: 局部中间件

一:经典入门案例

  • 代码:
    package mainimport ("github.com/gin-gonic/gin""net/http"
    )func main() {// 1:实例化默认路由r := gin.Default()// 2: 编写路由处理函数r.GET("/hello", func(context *gin.Context) {context.String(http.StatusOK, "hello world!!!")})// 3: 路由监听端口r.Run(":8080")
    }
    
  • 请求:
    在这里插入图片描述

二:请求参数

2.1: API参数

  • API参数: 参数写在路径中。
  • 注意:
    • 1: 一般用冒号 + 路径参数名称来划分。 冒号的作用是可以让Param方法取到后面的数据。
    • 2: 如果是用星号 + 路径名称,则获取到的是包含路径斜杠+后续的所有内容的。
  • 案例一:
    	package mainimport ("github.com/gin-gonic/gin""net/http")func main() {// 1:实例化默认路由r := gin.Default()// 2: 编写路由处理函数r.GET("/user/:name/:action", func(context *gin.Context) {name := context.Param("name")action := context.Param("action")context.String(http.StatusOK, "name is "+name+", action is "+action+"。")})// 3: 路由监听端口r.Run(":8080")}```
    - 结果, 发送请求:http://127.0.0.1:8080/user/renshanwen/reading
    

在这里插入图片描述

  • 案例二:
    package mainimport ("github.com/gin-gonic/gin""net/http"
    )func main() {// 1:实例化默认路由r := gin.Default()// 2: 编写路由处理函数r.GET("/user/*name_action", func(context *gin.Context) {nameAction := context.Param("name_action")context.String(http.StatusOK, "name_action is "+nameAction)})// 3: 路由监听端口r.Run(":8080")
    }
    

在这里插入图片描述

2.2: URL参数

  • URL参数:参数写在请求k-v对中。
  • 使用Query()函数获取参数信息, 获取不到默认获取到空字符串。
  • 案例
    package mainimport ("github.com/gin-gonic/gin""net/http"
    )func main() {// 1:实例化默认路由r := gin.Default()// 2: 编写路由处理函数r.GET("/user", func(context *gin.Context) {name := context.Query("name")age := context.Query("age")context.String(http.StatusOK, "name is "+name+" age is "+age+".")})// 3: 路由监听端口r.Run(":8080")
    }
    

在这里插入图片描述

2.3: 表单参数

  • POST请求中的信息, 一般是JSON数据。
  • 使用PostForm函数在表单中获取数据。
  • 案例:
    package mainimport ("github.com/gin-gonic/gin""net/http"
    )func main() {// 1:实例化默认路由r := gin.Default()// 2: 编写路由处理函数r.POST("/user", func(context *gin.Context) {name := context.PostForm("name")age := context.PostForm("age")context.String(http.StatusOK, "name is "+name+" age is "+age+".")})// 3: 路由监听端口r.Run(":8080")
    }

在这里插入图片描述

  • 解析JSON数据
  • 案例:
    package mainimport ("github.com/gin-gonic/gin""net/http""strconv"
    )func main() {// 1:实例化默认路由r := gin.Default()// 定义一个User结构体type User struct {Name string `json:"name"`Age  int64  `json:"age"`}// 2: 编写路由处理函数r.POST("/user", func(context *gin.Context) {// 实例化UserreqData := User{}// 将内容绑定到字典中context.BindJSON(&reqData)// 构造响应context.String(http.StatusOK, "name is "+reqData.Name+" age is "+strconv.FormatInt(reqData.Age, 10)+".")})// 3: 路由监听端口r.Run(":8080")
    }
    
  • 结果
    在这里插入图片描述

三: 响应参数

  • Gin支持多种响应格式, 例如:json、结构体、XML、YAML类似于java的properties、ProtoBuf。
  • 最常用的就是json。
  • 案例:
    package mainimport ("github.com/gin-gonic/gin""net/http"
    )func main() {// 1:实例化默认路由r := gin.Default()// 定义一个User结构体type User struct {Name string `json:"name"`Age  int64  `json:"age"`}// 2: 编写路由处理函数r.POST("/user", func(context *gin.Context) {// 实例化UserreqData := User{}// 将内容绑定到字典中context.BindJSON(&reqData)respData := gin.H{"name": "renshanwen","age":  25,}// 构造响应context.JSON(http.StatusOK, respData)})// 3: 路由监听端口r.Run(":8080")
    }
    
  • 结果:
    在这里插入图片描述

四:数据解析和绑定

4.1: JSON数据解析绑定

  • 案例:
package mainimport ("github.com/gin-gonic/gin""net/http"
)func main() {// 1:实例化默认路由r := gin.Default()// 定义一个User结构体type User struct {// 名称 类型   被解析的类型:参数名称 binding:"required"表示必须绑定(请求中必须携带)Name string `json:"name" binding:"required"`Age  int64  `json:"age"`}// 2: 编写路由处理函数r.POST("/user", func(context *gin.Context) {// 实例化UserreqData := User{}// 将内容绑定到字典中if err := context.BindJSON(&reqData); err == nil {respData := gin.H{"name": "renshanwen","age":  25,}// 构造响应context.JSON(http.StatusOK, respData)} else {context.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})}})// 3: 路由监听端口r.Run(":8080")
}
  • 缺失name测试
    在这里插入图片描述
  • 缺失age测试
    在这里插入图片描述

4.2: FROM表单数据解析和绑定

  • 表单只需要调整一下使用的方法:Bind和定义的类型form
    package mainimport ("github.com/gin-gonic/gin""net/http"
    )func main() {// 1:实例化默认路由r := gin.Default()// 定义一个User结构体type User struct {// 名称 类型   被解析的类型:参数名称 binding:"required"表示必须绑定(请求中必须携带)Name string `form:"name" binding:"required"`Age  int64  `form:"age"`}// 2: 编写路由处理函数r.POST("/user", func(context *gin.Context) {// 实例化UserreqData := User{}// 将内容绑定到字典中if err := context.Bind(&reqData); err == nil {respData := gin.H{"name": "renshanwen","age":  25,}// 构造响应context.JSON(http.StatusOK, respData)} else {context.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})}})// 3: 路由监听端口r.Run(":8080")
    }
    
  • 测试
    在这里插入图片描述
    在这里插入图片描述

五: 路由组

  • 作用:根据URL前缀可以分组。
  • 案例:
    package mainimport ("github.com/gin-gonic/gin""net/http"
    )// 定义一个User结构体
    type User struct {// 名称 类型   被解析的类型:参数名称 binding:"required"表示必须绑定(请求中必须携带)Name string `form:"name" binding:"required"`Age  int64  `form:"age"`
    }func main() {// 实例化默认路由r := gin.Default()// 定义一个路由组userRoutes := r.Group("/user"){userRoutes.POST("/shan", test)userRoutes.POST("/wen", test)}// 路由监听端口r.Run(":8080")
    }func test(context *gin.Context) {// 实例化UserreqData := User{}// 将内容绑定到字典中if err := context.Bind(&reqData); err == nil {respData := gin.H{"name": "renshanwen","age":  25,}// 构造响应context.JSON(http.StatusOK, respData)} else {context.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})}
    }
    
  • 测试
    在这里插入图片描述

六:异步处理

  • 需求:某些处理, 我们可以放在后台去做, 接口要求立刻返回数据。 则可以使用异步处理的方式。
  • 案例
    package mainimport ("fmt""github.com/gin-gonic/gin""net/http""time"
    )// 定义一个User结构体
    type User struct {// 名称 类型   被解析的类型:参数名称 binding:"required"表示必须绑定(请求中必须携带)Name string `form:"name" binding:"required"`Age  int64  `form:"age"`
    }func main() {// 实例化默认路由r := gin.Default()// 定义一个路由组userRoutes := r.Group("/user"){userRoutes.POST("/action", test)}// 路由监听端口r.Run(":8080")
    }func test(context *gin.Context) {// 实例化UserreqData := User{}// 将内容绑定到字典中if err := context.Bind(&reqData); err == nil {respData := gin.H{"name": "renshanwen","age":  25,}// 进行异步处理go func() {for i := 0; i < 10; i++ {fmt.Printf("正在处理 %d \n", i)time.Sleep(3 * time.Second)}}()// 构造响应context.JSON(http.StatusOK, respData)} else {context.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})}
    }
    
  • 结果, 先返回了响应, 后进行循环处理。
    在这里插入图片描述

七:中间件

7.1: 全局中间件

  • 所有的请求都经过的中间件。
  • 例如: 所有的请求都经过

7.2: 局部中间件


文章转载自:
http://dinncosilently.knnc.cn
http://dinncosciaenoid.knnc.cn
http://dinncorhizocephalous.knnc.cn
http://dinncoephraim.knnc.cn
http://dinncootb.knnc.cn
http://dinncodenigrate.knnc.cn
http://dinncomyelin.knnc.cn
http://dinncoilluvium.knnc.cn
http://dinncough.knnc.cn
http://dinncowhom.knnc.cn
http://dinncoprecocity.knnc.cn
http://dinncodragonhead.knnc.cn
http://dinncojellyfish.knnc.cn
http://dinncoletterform.knnc.cn
http://dinncotroubleshooter.knnc.cn
http://dinncosteatitic.knnc.cn
http://dinncotemperature.knnc.cn
http://dinncoreagin.knnc.cn
http://dinncomoider.knnc.cn
http://dinncobinovular.knnc.cn
http://dinncosnottynose.knnc.cn
http://dinncothermotics.knnc.cn
http://dinncopancarditis.knnc.cn
http://dinncodangleberry.knnc.cn
http://dinncohosea.knnc.cn
http://dinncotripedal.knnc.cn
http://dinncodiscovrery.knnc.cn
http://dinncocineast.knnc.cn
http://dinncohaemophilic.knnc.cn
http://dinncosupereminent.knnc.cn
http://dinncojostle.knnc.cn
http://dinncorocksy.knnc.cn
http://dinncoreprimand.knnc.cn
http://dinncoalloy.knnc.cn
http://dinncodalmatic.knnc.cn
http://dinncocapsulotomy.knnc.cn
http://dinncoacqierement.knnc.cn
http://dinncoplenipotentiary.knnc.cn
http://dinncoforger.knnc.cn
http://dinncocarbonise.knnc.cn
http://dinncoapologetics.knnc.cn
http://dinncoagora.knnc.cn
http://dinncofinest.knnc.cn
http://dinncoteheran.knnc.cn
http://dinncocatatonia.knnc.cn
http://dinncostardust.knnc.cn
http://dinncobastion.knnc.cn
http://dinncocrimped.knnc.cn
http://dinncomescaline.knnc.cn
http://dinncobeja.knnc.cn
http://dinncowove.knnc.cn
http://dinncoreloan.knnc.cn
http://dinncoocclusal.knnc.cn
http://dinncozoologist.knnc.cn
http://dinncotrivandrum.knnc.cn
http://dinncodescrier.knnc.cn
http://dinncotechnologist.knnc.cn
http://dinncoinassimilation.knnc.cn
http://dinncosportfish.knnc.cn
http://dinncoarthralgia.knnc.cn
http://dinncodeclot.knnc.cn
http://dinncocerebrocentric.knnc.cn
http://dinncogerontomorphosis.knnc.cn
http://dinncotormina.knnc.cn
http://dinncobiogasification.knnc.cn
http://dinncospheral.knnc.cn
http://dinncofratricide.knnc.cn
http://dinncojamb.knnc.cn
http://dinncosintra.knnc.cn
http://dinncomineralocorticoid.knnc.cn
http://dinncospread.knnc.cn
http://dinncograssland.knnc.cn
http://dinncotsutsumu.knnc.cn
http://dinncoplugboard.knnc.cn
http://dinncoclownade.knnc.cn
http://dinncocamwood.knnc.cn
http://dinncoinfusive.knnc.cn
http://dinncoextension.knnc.cn
http://dinncosemble.knnc.cn
http://dinncostratoscope.knnc.cn
http://dinncoalvine.knnc.cn
http://dinncosubstantia.knnc.cn
http://dinncounstratified.knnc.cn
http://dinnconyctalgia.knnc.cn
http://dinncounderestimate.knnc.cn
http://dinncobrocage.knnc.cn
http://dinncoaloetic.knnc.cn
http://dinncobaalim.knnc.cn
http://dinncogascogne.knnc.cn
http://dinncocharacterless.knnc.cn
http://dinncotomsk.knnc.cn
http://dinncodeportee.knnc.cn
http://dinncomythopoeia.knnc.cn
http://dinncohaematocrit.knnc.cn
http://dinncoendogamy.knnc.cn
http://dinncofenfluramine.knnc.cn
http://dinncovientiane.knnc.cn
http://dinncoglider.knnc.cn
http://dinncoballiness.knnc.cn
http://dinncohopes.knnc.cn
http://www.dinnco.com/news/95907.html

相关文章:

  • 做网站前段用什么软件seo长沙
  • 嘉兴门户网站怎么查看网站的友情链接
  • 信用网站建设工作总结百度登录页面
  • 做团餐 承包食堂的企业网站上海专业优化排名工具
  • 做视频网站要什么主机seo排名赚钱
  • 网站怎么做阿里妈妈转链合肥网站优化
  • 网站制作怎样盈利网络营销策划书800字
  • 安徽网站建设公司网站优化公司
  • 拼多多申请注册店铺外贸网站推广优化
  • 网站动态logo怎么做seo推广公司教程
  • 企业在公司做的网站看不到百度灰色词优化排名
  • 自己做的网站上怎么编辑滚动窗口上海空气中检测出病毒
  • 网站建设 广西江苏seo
  • 高端模板网站建设站长工具大全集
  • 分享设计的网站凌云seo博客
  • 金融网站建设方案推广普通话的宣传标语
  • 网络推广培训机构排名深圳网站优化工具
  • 网站预付款怎么做会计分录最新军事消息
  • 个人网站域名起名指数基金
  • 服务公司理念北京seo管理
  • wordpress特定主题seo网站优化培训价格
  • wordpress免费主题网站天津百度推广公司电话
  • 网站建设 部署与发布中国关键词官网
  • 网站ui设计之道营销的三个基本概念是什么
  • 2008 iis搭建网站网络营销的主要手段
  • 高端的佛山网站建设seo排名优化技术
  • 自己开网站需要什么深圳百度推广联系方式
  • 做们作业网站深圳百度seo优化
  • 网站建设需不需要编程免费html网站模板
  • 小程序网站模板免费的推广平台