golang学习之gin--第③篇:设置路由 获取get/post请求参数

文章目录

  • 前言
  • 一、请求方式及写法
    • 1.get/post路由写法
    • 2.运行结果
  • 二、路由分组
    • 1.routes group是为了管理一些相同的URL
  • 三、get路由参数
  • 四、post路由实例
    • 1.post请求,http常见的传输格式为四种:


前言

gin 框架中采用的路由库是基于httprouter做的

一、请求方式及写法

gin支持Restful风格的API请求方式有:ANY、GET、POST、PUT、PATCH 和 DELETE 请求

1.get/post路由写法

代码如下(示例):

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func main() {
	e := gin.Default()
	// get请求
	e.GET("/get", func(context *gin.Context) {
		context.String(http.StatusOK, "当前使用get请求")
	})
	// post请求
	e.POST("/post", func(context *gin.Context) {
		context.String(http.StatusOK, "当前使用post请求")
	})
	// 运行
	e.Run(":8080")
}

2.运行结果

使用get请求get方法(示例):
golang学习之gin--第③篇:设置路由 获取get/post请求参数_第1张图片
使用post请求post方法(示例):
golang学习之gin--第③篇:设置路由 获取get/post请求参数_第2张图片

二、路由分组

1.routes group是为了管理一些相同的URL

代码如下(示例):

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func main() {
	e := gin.Default()

	// 路由分组 v1:分组名称
	v1 := e.Group("v1")
	{
		v1.GET("/get1", func(context *gin.Context) {
			context.String(http.StatusOK, "get1")
		})
		v1.GET("/get2", func(context *gin.Context) {
			context.String(http.StatusOK, "get2")
		})
	}
	// 运行
	e.Run(":8080")
}

结果。注意路由:
golang学习之gin--第③篇:设置路由 获取get/post请求参数_第3张图片
golang学习之gin--第③篇:设置路由 获取get/post请求参数_第4张图片

三、get路由参数

url参数可以通过DefaultQuery()Query()方法获取
DefaultQuery()若参数不村则,返回默认值
Query()若不存在,返回空串
如:API ? name=zs

代码如下(示例):

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func main() {
	e := gin.Default()
	// get请求
	e.GET("/get", func(context *gin.Context) {
		// 指定默认值
		name := context.DefaultQuery("name", "无参数")

		context.String(http.StatusOK, "参数name:"+name)
	})
	// 运行
	e.Run(":8080")
}

结果。注意路由:
golang学习之gin--第③篇:设置路由 获取get/post请求参数_第5张图片
golang学习之gin--第③篇:设置路由 获取get/post请求参数_第6张图片

四、post路由实例

1.post请求,http常见的传输格式为四种:

application/json
application/x-www-form-urlencoded
application/xml
multipart/form-data

  • 表单参数可以通过PostForm()方法获取,该方法默认解析的是x-www-form-urlencodedfrom-data格式的参数

代码如下(示例):

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func main() {
	e := gin.Default()
	// get请求
	e.POST("/post", func(context *gin.Context) {
		name := context.PostForm("name")
		// 指定默认值
		pwd := context.DefaultPostForm("pwd", "123")

		context.String(http.StatusOK, "name:"+name+",pwd:"+pwd)
	})
	// 运行
	e.Run(":8080")
}

结果:
golang学习之gin--第③篇:设置路由 获取get/post请求参数_第7张图片

你可能感兴趣的:(golang学习,golang,restful,go,后端)