Skip to content
🎉 httpz v1.1.0 已发布
Docs介绍

为什么要开发httpz

net/http 1.22版本增强了路由功能,我们不再需要第三方路由(框架),例如Echo, ginchi就能 开发一个完整的Web项目。但标准库追求简单,使得其使用体验不如第三方框架。

例如:

  1. 分组不方便,net/http使用Handle(pattern, http.Handler)函数来将相同组的请求转发到http.Handler,管理不方便。 而Echo框架直接使用Group(pattern)来实现。

  2. Echo的错误集中处理是个好习惯,我们应该在handler中返回错误,这能减少处理错误的工作量。

  3. 数据绑定需要手动实现。当一个handler需要绑定很多的请求参数,net/http需要你一个个绑定。

  4. 返回响应时,net/http需要你手动设置响应头,状态码和响应体。这会造成重复代码。

httpz是什么

httpz 是下列功能的合集

  • 以net/http 1.22+版本为基础
  • 全局错误处理
  • 便捷的分组
  • 来自chi的中间件
  • 来自Echo的数据绑定
  • 快捷返回响应

httpz只是net/http的增强库,而不是新的框架。使用httpz,实际上就是使用net/http标准库进行开发。

httpz完全兼容net/http, 你可以选择使用httpz的增强功能,或者直接使用net/http

设计理念

  • 零依赖,所有功能的实现都是基于net/http的API。
  • 方便快捷,不强制。你仍可以使用net/http的习惯进行开发。
  • 是一个增强库,而非新的框架。