渲染
Hertz 提供的渲染能力。
Hertz 支持对 JSON,HTML,Protobuf 等的渲染。
JSON
JSON
Hertz 支持渲染 JSON
。
示例代码:
你也可以使用一个结构体。
示例代码:
PureJSON
JSON
使用 Unicode 替换特殊的 HTML 字符,如果你想要按照字面意义编码这些字符,你可以使用 PureJSON
。
示例代码:
IndentedJSON
IndentedJSON
将给定的结构序列化为优雅的 JSON (通过缩进 + 换行)。
示例代码:
配置其他 json marshal 库
hertz 默认使用开源 json 库 sonic,你也可以通过 ResetJSONMarshal
指定自己的 json 序列化库。
示例代码:
Data
Data
需要你自行设置 Content-Type
,而且 Data
只接收 []byte。
示例代码:
HTML
加载模板文件
Hertz 提供 LoadHTMLGlob
和 LoadHTMLFiles
来加载模板文件。
示例代码:
自定义分隔符
Hertz 支持自定义分隔符。
示例代码:
自定义模板功能
Hertz 支持自定义模板功能,示例代码如下。
main.go:
template1.html:
查看详细 [示例代码](hertz-examples/render/html at main · cloudwego/hertz-examples · GitHub)。
Protobuf
Hertz 支持渲染 Protobuf
。
示例代码:
示例代码中的 body.bodyStruct
具体定义如下。
Text
Hertz 支持渲染 string
,它需要你自行设置 format
。
示例代码:
XML
Hertz 支持渲染 XML
。
示例代码:
自定义渲染
Hertz 在 app 包内提供了 Render
方法。
函数签名:
如果你想要进行自定义渲染,首先要自行实现 render 包内的 Render
接口。
以实现 YAML
渲染为例。
示例代码:
完整示例
完整用法示例详见 example。
最后修改
November 30, 2023
: doc: sync Goroutine-Local-Storage 功能使用 (#862) (38f4965)