Gin 学习之响应处理

简介: Gin 学习之响应处理

01

String


c.String() 第一个参数是code,第二个参数是格式化字符串,第三个开始的若干参数支持任何数据类型。


示例代码:

640.png

输出结果:

用户名:frank


02

JSON


Gin 使用 encoding/json 作为默认的 json 包,可以序列化 map 类型的对象。


示例代码:

640.png

输出结果:

{"age":18,"email":"frank@gmail.com","name":"frank"}


gin.H 是 map[string]interface{} 的一种快捷方式。


示例代码:

640.png

输出结果:

{"age":19,"email":"bob@gmail.com","name":"bob"}


还可以序列化 struct 类型的对象,并且可以使用 tag 标签修改响应结果的字段名。


示例代码:

640.png

输出结果:

{"name":"lucy","Email":"lucy@gmail.com","Age":17}


03

JSONP


使用 JSONP 向不同域的服务器请求数据。如果查询参数存在回调,则将回调添加到响应体中。


示例代码:

640.png

输出结果:

curl -X GET http://localhost:8081/user3?callback=ab
abc({"age":16,"email":"lily@gmail.com","name":"lily"});


04

PureJSON


通常,JSON 使用 unicode 替换特殊 HTML 字符,例如 < 变为 \ u003c。如果要按字面对这些字符进行编码,则可以使用 PureJSON。Go 1.6 及更低版本无法使用此功能。


示例代码:

640.png

输出结果:

{"html":"<b>hello</b>"}


05

SecureJSON


使用 SecureJSON 防止 json 劫持。如果给定的结构是数组值,则默认预置 "while(1)," 到响应体。


你也可以使用自己的 SecureJSON 前缀,r.SecureJsonPrefix(")]}',\n")


示例代码:

640.png

输出结果:

while(1);["a","b","c"]

06

AsciiJSON


使用 AsciiJSON 生成具有转义的非 ASCII 字符的 ASCII-only JSON。


示例代码:

640.png

输出结果:

{"age":20,"email":"zs@gmail.com","name":"\u5f20\u4e09"}


07

XML


XML 格式


示例代码:

640.png

输出结果:

<map>
<email>apple@gmail.com</email>
<name>apple</name>
</map>


08

YAML


YAML 格式


示例代码:

640.png





目录
相关文章
|
2月前
|
算法 API UED
基于Gin框架的HTTP接口限速实践
基于Gin框架的HTTP接口限速实践
68 0
|
8月前
|
网络协议
深入理解HTTP的基础知识:请求-响应过程解析
在当今数字化的世界中,理解HTTP协议的基础知识变得至关重要。本文将带您深入探索HTTP的核心概念和请求-响应的过程。HTTP是一种用于在计算机之间传输超文本数据的协议,它不仅定义了数据交换的规则和格式,还为不同的应用程序提供了通信和交换信息的能力。通过深入了解HTTP的请求-响应过程,我们将更好地理解网络通信的基本原理,为构建和优化网络应用打下坚实的基础。
380 1
|
缓存 API 数据格式
gin框架学习-HTTP请求
POST 请求的参数一般通过 body 传递给服务器. body 中的数据格式有很多种。
319 0
gin框架学习-HTTP请求
|
13天前
|
XML 存储 JSON
gin框架学习笔记(二) ——相关数据与文件的响应
gin框架学习笔记(二) ——相关数据与文件的响应
|
13天前
|
缓存 网络协议 搜索推荐
gin框架学习笔记(三) ——路由请求与相关参数
gin框架学习笔记(三) ——路由请求与相关参数
|
13天前
|
JSON 中间件 数据格式
Gin框架学习笔记(六)——gin中的日志使用
Gin框架学习笔记(六)——gin中的日志使用
|
2月前
|
Go
深度探讨 Golang 中并发发送 HTTP 请求的最佳技术
深度探讨 Golang 中并发发送 HTTP 请求的最佳技术
|
2月前
|
XML JSON 中间件
|
2月前
Gin跨域问题
Gin跨域问题
24 0
|
9月前
Gin 学习之 HTTP 请求方法
Gin 学习之 HTTP 请求方法
64 0