Gin路由 | 青训营笔记

50 阅读2分钟

Context中Get函数的数据源

Context.Get函数是从Context.Keys字段中获取的数据。

Context中Param函数的

Context.Param(key string)函数是从正则路径中获取对应的匹配数据值。在gin中,正则路径的参数是被解析到Context.Params字段中的。

Context中Query函数的数据源

Context.Query函数是获取的url中的查询参数的值。在gin中,将查询参数的值会解析到Context中的queryCache字段中,而queryCache的数据则来源于Context.Request.URL.RawQuery中。

Context中的PostForm函数的数据源

Context.PostForm(key string) 函数是从form表单的urlencode编码的集合中获取数据。这里是form表单中以urlencoded形式编码的key/value值。如果是上传的文件,则不能通过该函数获取。

在gin框架中,会把form表单的数据缓存到Context的formCache中。获取时,会直接从formCache中获取。

URL

在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。

API

应用程序接口(API)是基于编程语言构建的结构,使开发人员更容易地创建复杂的功能。它们抽象了复杂的代码,并提供一些简单的接口规则直接使用。

API参数

可以通过Context的Param方法来获取API参数

URL参数

URL参数可以通过DefaultQuery()或Query()方法获取

DefaultQuery()若参数不存在,返回默认值,Query()若参数不存在,返回空串

API?name=zs

  • 表单传输为post请求,http常见的传输格式为四种:
    • application/json
    • application/x-www-form-urlencoded
    • application/xml
    • multipart/form-data
  • 表单参数可以通过PostForm()方法获取,该方法默认解析的是x-www-form-urlencoded或from-data格式的参数

上传单个文件

  • multipart/form-data格式用于文件上传
  • gin文件上传与原生的net/http方法类似,不同在于gin把原生的request封装到c.Request中