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

时间:2024-10-22 11:14:55

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配置;自定义日志文件;自定义验证器。