代码示例

Hertz 提供了一系列示例代码旨在帮助用户快速上手 Hertz 并了解 Hertz 的特性。

Hertz 提供了一系列示例代码旨在帮助用户快速上手 Hertz 并了解 Hertz 的特性,参考 hertz-examples 以获取更多信息。

Bizdemo

hertz_gorm

  • hertz_gorm :在 hertz server 中使用 gorm 的示例

hertz_gorm_gen

  • hertz_gorm_gen :在 hertz server 中使用 gorm/gen & proto IDL 的示例

hertz_jwt

  • hertz_jwt :在 hertz server 中使用 jwt 的示例

hertz_session

  • hertz_session :在 hertz server 中使用分布式 session 和 csrf 的示例

tiktok_demo

  • tiktok_demo :拥有用户、视频、互动、社交功能的仿 tiktok hertz server

hz_kitex_demo

Server

启动 Hertz

  • hello :启动对于 hertz 来说相当于 “hello world” 的示例

配置

  • config :配置 hertz server 的示例

协议

  • HTTP1 : hertz 使用 HTTP1 协议的示例
  • TLS : hertz 使用 TLS 协议的示例
  • HTTP2 : hertz 使用 HTTP2 协议的示例
  • HTTP3 : hertz 使用 HTTP3 协议的示例
  • Websocket : hertz 使用 Websocket 协议的示例
  • SSE : hertz 使用 SSE 协议的示例

路由

  • Route :注册路由、使用路由组、参数路由的示例

中间件

  • basic_auth :使用 basic auth 中间件的示例
  • CORS :使用 CORS 中间件的示例
  • custom :自定义中间件的示例
  • pprof :使用 pprof 中间件的示例
  • requestid :使用 RequestID 中间件的示例
  • gzip :在 hertz server 中使用 gzip 中间件的示例
  • csrf :在 hertz server 中使用 csrf 中间件的示例
  • loadbalance :在 hertz server 中使用 loadbalance 中间件的示例
  • Recovery :使用 Recovery 中间件的示例
  • jwt :使用 jwt 中间件的示例
  • i18n :使用 i18n 中间件的示例
  • session :使用 session 中间件的示例
  • KeyAuth :使用 KeyAuth 中间件的示例
  • Swagger :使用 Swagger 中间件的示例
  • access log :使用 access log 中间件的示例
  • Secure :使用 Secure 中间件的示例
  • Sentry :使用 Sentry 中间件的示例
  • Casbin :使用 Casbin 中间件的示例
  • ETag :使用 ETag 中间件的示例
  • Cache :使用 Cache 中间件的示例
  • Paseto :使用 Paseto 中间件的示例

参数绑定及验证

  • binding :参数绑定及验证的示例

获取参数

  • parameters :获取 query、form、cookie 等参数的示例

文件

  • file :关于如何上传,下载文件和搭建静态文件服务的示例

渲染

  • render :渲染 json, html, protobuf 的示例

重定向

  • redirect :重定向到内部/外部 URI 的示例

流式读/写

  • streaming :使用 hertz server 流式读/写的示例

优雅退出

单元测试

  • unit_test :使用 hertz 提供的接口不经过网络传输编写单元测试的示例

链路追踪

  • tracer :hertz 使用 Jaeger 进行链路追踪的示例

监控

  • monitoring :hertz 使用 Prometheus 进行指标监控的示例

多端口服务

适配器

  • adaptor :使用 adaptor 集成基于 http.Handler 接口开发的工具, 包含使用 jade 作为模版引擎的示例

Sentinel

  • sentinel :sentinel-golang 结合 hertz 使用的示例

反向代理

  • reverseproxy :在 hertz server 中使用反向代理的示例

Hlog

  • standard :使用 hertz 默认实现的日志的示例
  • custom :日志扩展的示例
  • zap :在 hertz server 中对接 zap 和 lumberjack 的示例
  • logrus :在 hertz server 中对接 logrus 和 lumberjack 的示例
  • zerolog :在 hertz server 中对接 zerolog 和 lumberjack 的示例
  • slog :在 hertz server 中对接 slog 和 lumberjack 的示例

Opentelemetry

  • opentelemetry :使用 obs-opentelemetry 的示例用于对接 opentelemetry

HTTP Trailer

  • trailer :使用 HTTP Trailer 的示例

Client

发送请求

  • send_request :使用 hertz client 发送 http 请求的示例

配置

TLS

  • tls :hertz client 发送 tls 请求的示例

添加请求内容

上传文件

  • upload_file :使用 hertz client 上传文件的示例

中间件

  • middleware :使用 hertz client middleware 的示例

流式读响应

正向代理

  • forward_proxy :使用 hertz client 配置正向代理的示例

HTTP Trailer

  • trailer :使用 HTTP Trailer 的示例

Hz

基于 Thrift 生成服务端代码

  • thrift :使用 hz 与 thrift 生成服务端代码的示例

基于 Protobuf 生成服务端代码

  • protobuf :使用 hz 与 protobuf 生成服务端代码的示例

客户端代码生成

  • hz_client :使用 hz 生成客户端代码的示例

自定义模板

  • template :使用 hz 自定义模版生成服务端代码的示例

接入第三方插件

  • plugin :使用 hz 接入第三方插件的示例