1 Star 0 Fork 0

youkelike / web

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

web

一个有完整功能的 web 框架

特性

支持普通路由、参数路由、通配符路由、正则路由
AOP 支持全局中间件和路由中间件
支持模板渲染插件
支持 session 插件
支持优雅关停

框架的三大抽象

服务器 Server
上下文 Context
路由 router 

Server 抽象的三大功能:

连接 http 包和框架(通过内嵌 http.Handler)
管理服务生命周期(启动、优雅关停)
管理路由

路由规则

不能重复注册路由
支持完整匹配、路径参数、* 号通配符、正则匹配,而且在注册路由时,同一个路径节点上路径参数、* 号通配符、正则匹配只能有其中一种
path 必须以 / 开始,中间不能有连续的 /,结尾不能有 /
不能在同一个位置注册不同命名的参数路由,比如 /user/:id 和 /user/:name
不能在同一个位置注册不同规则的正则路由,比如 /user/:(id) 和 /user/:(name)
不能在同一个位置同时注册参数路由和通配符路由,比如 /user/:id 和 /user/*
同名路径参数,匹配的时候会覆盖,比如 /user/:id/a/:id

Context 处理输入输出支持

反序列化、重复读取 body
表单输入处理
查询参数处理
路径参数处理
读取 Header、cookie、session
序列化输出
渲染页面
处理状态码    
设置 cookie
设置 header
错误页面

使用示例

s := web.NewHTTPServer()
mockHandler1 := func(c *web.Context) { fmt.Println("mockHandler1") }
mockHandler2 := func(c *web.Context) { fmt.Println("mockHandler2") }

s.Use(http.MethodGet, "/", mockHandler1)
s.Get("/login", mockHandler1)
s.Post("/login", mockHandler2)

s.Start(":8080")

空文件

简介

web 框架 展开 收起
Go
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/youkelike/web.git
git@gitee.com:youkelike/web.git
youkelike
web
web
master

搜索帮助