iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Go语言中Get/Post请求测试实例分析
  • 630
分享到

Go语言中Get/Post请求测试实例分析

2023-06-30 17:06:53 630人浏览 八月长安
摘要

本篇内容主要讲解“Go语言中Get/Post请求测试实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go语言中Get/Post请求测试实例分析”吧!gin安装先将gin安装一下,安装依赖g

本篇内容主要讲解“Go语言中Get/Post请求测试实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go语言中Get/Post请求测试实例分析”吧!

gin安装

先将gin安装一下,安装依赖go语言还是比较方便的。

在安装之前先配置一下goproxy。

命令如下:

go env -w GO111MODULE=ongo env -w GOPROXY=https://mirrors.aliyun.com/goproxy/   //阿里代理go env -w GOPROXY=Https://goproxy.cn   //七牛云代理

安装一下gin,命令如下:

go get GitHub.com/gin-gonic/gin

Get请求测试

实现一个WEB服务还是比较简单的,创建一个router,绑定路由规则即可。先测试几个Get请求。

样例代码如下:

package main import ("github.com/gin-gonic/gin""net/http") func main() {router := gin.Default()router.GET("/", func(context *gin.Context) {context.String(http.StatusOK, "hello world")}) router.GET("/test/:name", func(context *gin.Context) {name := context.Param("name")context.String(http.StatusOK, "check param %s", name)}) router.GET("/test1", func(context *gin.Context) {name := context.DefaultQuery("name", "张三")gender := context.Query("gender")context.String(http.StatusOK, "他叫%s,性别:%s", name, gender)}) router.Run(":8080")}

执行结果

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /                         --> main.main.func1 (3 handlers)
[GIN-debug] GET    /test/:name               --> main.main.func2 (3 handlers)
[GIN-debug] GET    /test1                    --> main.main.func3 (3 handlers)
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
[GIN-debug] Listening and serving HTTP on :8080

[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend yo
u to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-
proxies for details.
[GIN-debug] Listening and serving HTTP on :8080

测试一下,这里我是用的接口测试工具apiPost

Go语言中Get/Post请求测试实例分析

Go语言中Get/Post请求测试实例分析

Go语言中Get/Post请求测试实例分析

注意

在使用context.DefaultQuery方法的时候,可以提供一个默认值。

除了可以使用":"来获取路径参数外,可以使用"*",可以匹配更多规则。我个人感觉我不会这么用get请求参数。

Post请求测试

Post请求是在项目中使用的比较多的,而且不管是使用fORM获取参数还是body,都十分常见。

同时返回的数据也不可能使用一行字符串,实际项目中还是使用JSON格式居多。

所以下面我使用form参数和body参数实现了一下post测试接口。

完成代码如下

package main import ("encoding/json""fmt""github.com/gin-gonic/gin""io/ioutil""net/http") type Result struct {Name string `json:"name"`Age  int    `json:"age"`} //反序列化为结构体对象func parseJson(a string) Result {fmt.Printf("原始字符串: %s\n", a)var c Resultif err := json.Unmarshal([]byte(a), &c); err != nil {fmt.Println("Error =", err)return c}return c} func main() {router := gin.Default()router.GET("/", func(context *gin.Context) {context.String(http.StatusOK, "hello world")}) router.GET("/test/:name", func(context *gin.Context) {name := context.Param("name")context.String(http.StatusOK, "check param %s", name)}) router.GET("/test1", func(context *gin.Context) {name := context.DefaultQuery("name", "张三")gender := context.Query("gender")context.String(http.StatusOK, "他叫%s,性别:%s", name, gender)}) router.POST("/testPost", func(context *gin.Context) {name := context.PostForm("name")nick := context.DefaultPostForm("nick", "leo")context.JSON(http.StatusOK, gin.H{"status": gin.H{"code":    http.StatusOK,"success": true,},"name": name,"nick": nick,})}) router.POST("/testPost2", func(context *gin.Context) {data, _ := ioutil.ReadAll(context.Request.Body)fmt.Println(string(data))context.JSON(http.StatusOK, gin.H{"code": http.StatusOK,"data": parseJson(string(data)),})}) router.Run(":8080")}

测试一下testPost和testPost2接口

Go语言中Get/Post请求测试实例分析

Go语言中Get/Post请求测试实例分析

注意

使用context.DefaultPostForm方法可以提供一个默认值。

可以使用gin.H方法构造json结构返回。

将获得打参数反序列化为结构体,这部分的代码使用到之前讲json解析的笔记

到此,相信大家对“Go语言中Get/Post请求测试实例分析”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Go语言中Get/Post请求测试实例分析

本文链接: https://www.lsjlt.com/news/330613.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Go语言中Get/Post请求测试实例分析
    本篇内容主要讲解“Go语言中Get/Post请求测试实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go语言中Get/Post请求测试实例分析”吧!gin安装先将gin安装一下,安装依赖g...
    99+
    2023-06-30
  • 精通 Go 语言:剖析 POST 请求
    在 go 语言中,解析 post 请求分为以下步骤:使用 parseform() 解析表单数据。使用 formvalue() 获取特定字段的值。使用 encoding/json 包解析 ...
    99+
    2024-04-08
    go post 请求 用户注册
  • java中httpclient封装post请求和get的请求实例
    目录httpclient封装post请求和get的请求httpclient的post和get请求所用的代码HttpClient发送Get、Post请求的实践1. 配置及实例化Http...
    99+
    2024-04-02
  • golang gorm实现get请求查询案例测试
    目录案例查询班级get请求查询学生get请求案例 package main import ( _ "github.com/go-sql-driver/mysql" "gi...
    99+
    2024-04-02
  • Node.js的路由、EJS模板引擎、GET和POST请求实例分析
    本篇内容介绍了“Node.js的路由、EJS模板引擎、GET和POST请求实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、路由官方...
    99+
    2023-07-02
  • Go语言单元测试和基准测试实例代码分析
    本篇内容主要讲解“Go语言单元测试和基准测试实例代码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go语言单元测试和基准测试实例代码分析”吧!背景测试的出现是为了避免项目中出现重大事故测试是...
    99+
    2023-07-05
  • 高效执行 Go 语言中的 POST 请求
    在 go 语言中发送 post 请求,可以按照以下步骤进行:导入必要的包。创建一个 http 客户端。创建一个 http 请求,指定方法、url 和请求正文。设置必要的请求标头。执行请求...
    99+
    2024-04-08
    go http
  • Go语言单元测试的示例分析
    小编给大家分享一下Go语言单元测试的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、单元测试分类及其概念1.基本分类测试函数 函数前缀为Test 主要用...
    99+
    2023-06-29
  • Go语言单元测试与性能测试示例分析
    这篇文章主要讲解了“Go语言单元测试与性能测试示例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言单元测试与性能测试示例分析”吧!概述测试不是Go语言独有的,其实在很多语言都有测试...
    99+
    2023-06-25
  • Python和Go语言每秒请求数对比的示例分析
    小编给大家分享一下Python和Go语言每秒请求数对比的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我用不同语言写了一...
    99+
    2024-04-02
  • Go语言单元测试怎么实现服务请求和接口返回
    这篇“Go语言单元测试怎么实现服务请求和接口返回”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言单元测试怎么实现服务请...
    99+
    2023-07-02
  • go语言中的协程实例分析
    这篇文章主要讲解了“go语言中的协程实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“go语言中的协程实例分析”吧!协程的特点该任务的业务代码主动要求切换,即主动让出执行权限发生了IO,...
    99+
    2023-07-02
  • Go语言中的闭包实例分析
    这篇文章主要介绍“Go语言中的闭包实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go语言中的闭包实例分析”文章能帮助大家解决问题。一、函数的变量作用域和可见性全局变量在main函数执行之前初...
    99+
    2023-07-02
  • Go 语言结构实例分析
    当前的调试部分可以使用 go run filename.go 来执行。 可以生成一个 build.sh 脚本,用于在指定位置产生已编译好的 可执文件: #!/usr/bin/en...
    99+
    2024-04-02
  • Go语言单元测试模拟服务请求和接口返回
    目录前言httptestgock安装使用示例总结前言 这是Go单元测试从入门到放弃系列教程的第1篇,介绍了如何使用httptest和gock工具进行网络测试。 在上一篇《Go单元测试...
    99+
    2024-04-02
  • 学习Go语言文档中的net/http.Post函数发送POST请求
    学习Go语言中的网络编程是非常重要的一部分,其中发送POST请求是不可或缺的一环。本文将介绍如何使用Go语言文档中的net/http.Post函数来发送POST请求,包括具体的代码示例。首先,我们需要了解POST请求是什么,是一种发送数据到...
    99+
    2023-11-04
    Go语言 POST请求 net/http
  • Vue中resource请求格式和万能测试地址的示例分析
    这篇文章主要介绍了Vue中resource请求格式和万能测试地址的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。注意:1.前端服务器...
    99+
    2024-04-02
  • 掌握Go语言文档中的net/http.Get函数发送GET请求
    掌握Go语言文档中的net/http.Get函数发送GET请求,需要具体代码示例Go语言是一种简单、高效、并发安全的编程语言,其强大的网络编程能力使得它在Web开发领域中得到了广泛的应用。其中,net/http包是Go语言中用于进行HTTP...
    99+
    2023-11-03
    Go语言 net/http get函数
  • Go语言中interface语法与使用实例分析
    这篇“Go语言中interface语法与使用实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言中interfac...
    99+
    2023-07-02
  • Go语言选择器实例分析
    今天小编给大家分享一下Go语言选择器实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。引言在 Go 语言中,表达式&nb...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作