Gin框架操作指南12:完结篇

news/2024/10/20 8:20:23/

Gin框架的功能确实非常丰富,使用postman软件确实很方便,省去了自己写前端代码的过程。本文回顾2-11章的内容以及使用postman软件需要注意的细节。

指南2:JSON渲染。演示AsciiJSON JSONP PureJSON SecureJSON XML-JSON-YAML-ProtoBuf渲染。

指南3:HTML渲染。演示简单渲染,使用不同目录下名称相同的模板,自定义模板渲染器,自定义模板函数。

指南4:GET绑定。演示绑定表单数据至自定义结构体,绑定查询字符串或表单数据,只绑定url查询字符串,查询字符串参数,设置和获取Cookie 从reader读取数据。
postman如果要实现浏览器访问http://localhost:8085/testing?name=John&address=New York,即在GET请求中绑定查询字符串,需在body中设置内容为raw,类型为json,然后输入json格式的字符串:

{"name": "John","address":"New York"
}

指南5:POST绑定(上)。演示POST绑定,包括模型绑定和验证;Multipart-Urlencoded绑定;Multipart-Urlencoded表单;绑定HTML复选框;绑定 Uri。
在POST请求中绑定数据和GET差不多,需在body中设置内容为raw,类型为JSON或XML。如果是绑定表单,则内容为x-www-form-urlencoded。至于为什么不用form-data,因为form-data支持的功能更多,具体来说是:
x-www-form-urlencoded主要用于提交表单数据,只能发送文本。数据会被编码为一个 URL 查询字符串,格式如 key1=value1&key2=value2。
form-data允许发送文本、文件及其他复杂数据类型。数据会以多部分格式(multipart)发送,支持文本和文件同时上传。

指南6:POST绑定(下)。演示将request-body绑定到不同的结构体中;映射查询字符串或表单参数;上传文件 Query和post-form。

指南7:路由与中间件。演示路由与中间件,包括路由参数;路由组;使用中间件;在中间件中使用Goroutine;自定义中间件。

指南8:日志与安全。演示定义路由日志的格式;如何记录日志;安全页眉;使用BasicAuth中间件;使用HTTP方法。
使用安全标头保护网络应用程序免受常见安全漏洞的攻击非常重要,假设我在程序中对请求头中的host检测,那么在postman的GET请求下的Headers中,随意设置key和value,只要key不是host(不区分大小写),均能正常输出。但如果在headers中设置了key为host(不区分大小写),那么value就必须是代码中设置好的值,否则出错。
路由组使用 gin.BasicAuth() 中间件能保护 /admin 路径,在postman中,选择GET请求-Auth-Basic Auth,输入代码中设置好的用户名和密码即可访问网址成功。

指南9:静态文件与资源管理。演示静态文件服务,静态资源嵌入。

指南10:服务器与高级功能。演示运行多个服务;优雅地重启或停止;重定向;支持Let’s-Encrypt;HTTP2-server推送。

指南11:自定义与配置。演示自定义HTTP配置;自定义日志文件;自定义验证器。


http://www.ppmy.cn/news/1540474.html

相关文章

Unity3D 玩家攻击伤害计算详解

在游戏中,玩家攻击伤害计算是一个非常重要的功能,它决定了游戏中不同角色之间的战斗结果。本文将详细介绍Unity3D中玩家攻击伤害计算的实现方法,包括技术细节和代码实现。 对惹,这里有一个游戏开发交流小组,大家可以点…

OpenRTP 乱序排包和差分抖动计算

OpenRTP 开源地址 OpenRTP 开源地址 暂时使用h264 aac 的音频去测试,点开配置去选择 1 音视频同步问题 先要解决一个音视频同步问题,否则包排不排序都不对,这是因为视频时间戳不一定能够对上音频,为什么呢?因为大部…

力扣3191.使二进制数全变成1

给你一个二进制数组 nums 。 你可以对数组执行以下操作 任意 次(也可以 0 次): 选择数组中 任意连续 3 个元素,并将它们 全部反转 。 反转 一个元素指的是将它的值从 0 变 1 ,或者从 1 变 0 。 请你返回将 nums 中…

证件照小程序源码,前后端稳定运行

演示:证寸照制作 运行环境: Linux Nginx PHP >5.6 MySQL>5.6 安装步骤: 1.下载源码上传至你的服务器宝塔面板 2.直接添加站点选择源码目录,新建数据库 3.设置代码执行目录为/web 4.在浏览器中输入你的域名,会提示安装,填写…

UE4 材质学习笔记09(雨水水坑着色器/完整雨水着色器)

一.雨水水坑着色器 要用到这样一个噪声贴图,我们要做的就是,做出水坑并让水坑在这种浑浊的噪点中产生,因此水坑将从最暗的斑点生长,然后随着它继续占据越来越亮的像素而生长 现在水坑将从上到下投射到世界空间中,所以…

高级java每日一道面试题-2024年10月15日-JVM篇-说一下JVM的主要组成部分?及其作用?

如果有遗漏,评论区告诉我进行补充 面试官: 说一下JVM的主要组成部分?及其作用? 我回答: Java 虚拟机(JVM)是 Java 运行时环境的核心组件,它负责执行 Java 字节码。JVM 的主要组成部分及其作用如下: 类加载器子系统 (Class L…

【H2O2|全栈】WPS/Office系列有哪些好用的快捷方式?

目录 WPS/Office 前言 准备工作 Office通用快捷键 PPT快捷键 Excel快捷键 Word快捷键 结束语 WPS/Office 前言 本章节属于前端前置知识,即使不学习前端,在工作中掌握常见的WPS/Office办公技能也是十分重要的。在本篇中,我将会分享常…

数据结构-贪心算法笔记

前言:贪心无套路,狠狠刷就完事 分发饼干 455. 分发饼干 - 力扣(LeetCode) class Solution {/*** 找出最多有多少个孩子可以得到糖果。** param g 一个数组,表示每个孩子对糖果大小的满意度。* param s 一个数组&…