当前位置: 首页 > 文档资料 > Faygo 用户手册 >

欢迎使用 faygo

优质
小牛编辑
123浏览
2023-12-01

Faygo 使用全新架构,是最合适开发API接口的Go Web框架。用户只需定义一个struct Handler,就能自动绑定、验证请求参数并生成在线API文档。

当前版本号

v1.0

框架特性

  • 一个 struct Handler 搞定多件事:
    • 定义 Handler/Middleware
    • 绑定与验证请求参数
    • 生成 Swagger2.0 API 在线文档
    • 数据库 ORM 映射
  • Handler与Middleware完全相同,都是实现Handler接口(funcstruct类型),共同构成路由操作链,只是概念层面的说法不同
  • 支持多种网络类型:
网络类型配置net_types
HTTPhttp
HTTPS/HTTP2(TLS)https
HTTPS/HTTP2(Let’s Encrypt TLS)letsencrypt
HTTPS/HTTP2(Let’s Encrypt TLS on UNIX socket)unix_letsencrypt
HTTP(UNIX socket)unix_http
HTTPS/HTTP2(TLS on UNIX socket)unix_https
  • 支持单服务单监听、单服务多监听、多服务多监听等,多个服务的配置信息相互独立
  • 基于 httprouter 开发高性能路由,支持链式与树形两种注册风格,支持灵活的静态文件路由(如DirFS、RenderFS、MarkdownFS等)
  • 支持平滑关闭、平滑升级,提供fay工具进行新建项目、热编译、元编程
  • 采用最强大的 pongo2 作为HTML渲染引擎
  • 提供近似LRU的文件缓存功能,主要用途是静态文件缓存
  • 跨平台的彩色日志系统,且同时支持console和file两种输出形式(可以同时使用)
  • 提供Session管理功能
  • 支持Gzip全局配置
  • 提供XSRF跨站请求伪造安全过滤
  • 大多数功能尽量使用简洁的ini进行配置来避免不必要的重新编译,并且这些配置文件支持自动补填默认值
  • 提供 gormxormsqlxdirectSQLWebsocketinihttp client 等很多常用扩展包