首页 > 其他分享 >go学习01

go学习01

时间:2024-04-30 11:35:11浏览次数:21  
标签:username 01 http userid 学习 func go gin ginServer

加载网页文件夹和加载静态资源

文件路径:

    <link rel="stylesheet" href="/static/css/style.css">
    <script src="/static/js/common.js"></script>
    //加载网页文件夹
    ginServer.LoadHTMLGlob("templates/*")
    //加载静态资源
    ginServer.Static("/static", "./static")

获取静态页面

	ginServer.GET("/index", func(c *gin.Context) {
		c.HTML(http.StatusOK, "index.html", gin.H{
			"msg": "后台数据",
		})
	})

index.html中获取msg的代码为

{{.msg}}

返回URL参数的两种方式

1.使用?传递参数,如/user/info?userid=123&username=JohnDoe

	ginServer.GET("/user/info", func(c *gin.Context) {
		userid := c.Query("userid")
		username := c.Query("username")
		c.JSON(http.StatusOK, gin.H{
			"userid":   userid,
			"username": username,
		})
	})

2.使用路由路径传递参数,如/user/info/123/JohnDoe

	ginServer.GET("/user/info/:userid/:username", func(c *gin.Context) {
		userid := c.Param("userid")
		username := c.Param("username")
		c.JSON(http.StatusOK, gin.H{
			"userid":   userid,
			"username": username,
		})
	})

表单提交数据

表单

<form action="/user/add" method="post">
    <p>username: <input type="text" name="username"></p>
    <p>password: <input type="text" name="password"></p>
    <button type="submit">提交</button>
</form>
	ginServer.POST("/user/add", func(c *gin.Context) {
		username := c.PostForm("username")
		password := c.PostForm("password")
		c.JSON(http.StatusOK, gin.H{
			"username": username,
			"password": password,
		})
	})

重定向

	ginServer.GET("/text", func(c *gin.Context) {
		c.Redirect(http.StatusMovedPermanently, "https://www.baidu.com")
	})

接受post请求的数据并以json的格式响应

	ginServer.POST("/json", func(c *gin.Context) {
		b, _ := c.GetRawData()
		var m map[string]interface{}
		_ = json.Unmarshal(b, &m)
		c.JSON(http.StatusOK, m)
	})

请求格式与响应结果

标签:username,01,http,userid,学习,func,go,gin,ginServer
From: https://www.cnblogs.com/nltack/p/18167668

相关文章

  • pytest 学习 - 00 环境安装配置
    前言pytest是一个非常好用且成熟的全功能Python测试框架,个人觉得比传统的Unitest好多用了,现在面试如果写只会Unitest会被鄙视的。主要有以下特点:1.简单灵活,容易上手,参数化灵活。2.测试用例支持很多机制像skip、xfail、自动失败重试等处理。3.能够......
  • Spring WebFlow 远程代码执行漏洞(CVE-2017-4971)
    SpringWebFlow远程代码执行漏洞(CVE-2017-4971)SpringWebFlow是一个适用于开发基于流程的应用程序的框架(如购物逻辑),可以将流程的定义和实现流程行为的类和视图分离开来。在其2.4.x版本中,如果我们控制了数据绑定时的field,将导致一个SpEL表达式注入漏洞,最终造成任意命令执行。......
  • m基于Yolov2深度学习网络的智能零售柜商品识别系统matlab仿真,带GUI界面
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要       YOLO(YouOnlyLookOnce)是一种实时的目标检测算法,YOLOv2则是其改进版本,由JosephRedmon和AliFarhadi于2016年提出。YOLOv2采用了端到端的方式直接从整幅图像预测边界框和类别概率,极大......
  • Qt Creator + MSVC2017编译器配置指南
    QtCreator+MSVC2017编译器配置指南下载和安装MSVC2017编译器下载下载MSVC编译器安装工具:https://docs.microsoft.com/zh-tw/previous-versions/visualstudio/visual-studio-2017/install/use-command-line-parameters-to-install-visual-studio?view=vs-2017安装安......
  • 转载golang中net/http包用法
    转自:https://studygolang.com/articles/55151.前言http包包含http客户端和服务端的实现,利用Get,Head,Post,以及PostForm实现HTTP或者HTTPS的请求.2.本文分析内容安排函数结构3.函数3.1服务端函数funcHandle(patternstring,handlerHandler)将handler按照指定的......
  • Python 学习笔记
    1、Python简介设计哲学:强调代码的可读性和简洁的语法(尤其是用空格缩进来定义代码块,而不是使用大括号或关键词)。应用领域:Web开发、数据科学、人工智能、科学计算、自动化脚本等。参考文档:Python简介2.基本语法解释器:Python代码可以通过Python解释器直接运行,也可以作为脚本......
  • 初中中考阅读理解难题一网打尽!句子结构深度解析+答案揭秘,助你轻松冲刺高分!-014
    PDF格式公众号回复关键字:ZKYDT014原文1DoChineseyoungpeopleliketowatchshowsonmobilephoneswhileeating?解析1Do助动词,Chineseyoungpeople中国年轻人,liketo喜欢,watchshowsonmobilephones看手机上节目,whileeating?吃饭的时候中国年轻人......
  • mongos分片副本集安装
    主机角色端口10.252.132.108sharedconfigmongos270172701827019271002000010.252.132.109sharedconfigmongos270172701827019271002000010.252.132.120sharedconfigmongos2701727018270192710020000八,mongo集群副本集安装1、linu......
  • C++ 学习笔记
    ​1、基础概念C++是一种高性能的编程语言,由BjarneStroustrup在1980年代初设计,旨在为C语言添加面向对象的功能。自那时起,C++已发展成为一种支持过程性、面向对象和泛型编程的多范式语言,广泛应用于系统软件、游戏开发、驱动程序、嵌入式固件等领域。要开始使用C++,首先需要......
  • 从零手写实现 apache Tomcat-01-入门介绍
    创作缘由平时使用tomcat等web服务器不可谓不多,但是一直一知半解。于是想着自己实现一个简单版本,学习一下tomcat的精髓。怎么实现一个tomcat呢?Tomcat就像是一个用Java语言搭起来的大舞台,专门用来演出那些用Java编写的网页剧。想要玩得转Tomcat,你最好对Java语言有所了解......