简单易用,提供请求级别和客户端级别的丰富设置,且全是可链式调用的方法
提供强大且便捷的调试能力,包含 Debug 日志,性能追踪与分析,甚至将完整请求和响应内容 dump 下来 (参考 调试)
可以用最少的代码进行 API 测试,不需要显式创建任何 Request 和 Client,甚至不需要处理错误 (参考 HTTP 快速测试)
嗅探并自动解码成 UTF-8 以避免乱码 (参考 自动解码),根据 Content-Type 自动 Marshal 请求体和 Unmarshal 响应体
同时支持 HTTP/1.1, HTTP/2 和 HTTP/3, 可以自动检测服务端并选择最优 HTTP 协议版本进行请求,当然如果需要也可以强制指定协议版本 (参考 强制指定 HTTP 协议)
支持请求自动重试,并且完全可自定义 (参考 自动重试)
req.Transport 是可导出的,相比 http.Transport 它还支持 HTTP3、dump 请求内容、中间件等,可直接替换已有项目中 http.Client 的 Transport,用最少的改动获得更强大的功能
支持 Request、Response、Client 和 Transport 的中间件 (参考 Request 与 Response 中间件 和 Client 与 Transport 中间件)