WeMVC 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
WeMVC 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
WeMVC 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
WeMVC 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
WeMVC 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织
地区 国产
投 递 者 冷夜无霜
适用人群 未知
收录时间 2016-07-28

软件简介

WeMVC是一个用go语言开发的简单的高性能MVC框架。它有以下特色:

  1. 全新的路由算法,性能超棒。支持路由变量自定义验证(route parameter validation),支持默值设置。示例:
    wemvc.Route("/blog/<year:int(4)>-<month:int(1~2)>-<day:int(1~2)>/<title>", blogController{})
    wemvc.Route("/test/<company>/<uid:int>/<department=admin>/<title=manager>", TestController{}, "Route_Data").
  2. 特有的Action处理方式:Action方法名的处理采用[Http Method]+[Action Name]方式。例如程序中有个路由规则wemvc.Route("/user/<action>", User{})。当以GET方式访问http://localhost:8080/user/login时,路由器捕捉到HttpMethod是Get,Action是login,所以执行的方法是GetLogin()。而当POST提交表单时,路由器捕捉到HttpMethod是Post,Action是login,然后执行方法PostLogin()。如果无法找到GetLogin或PostLogin,则执行方法Login();
  3. View借鉴beego框架处理方式,将View编译缓存到内存,实时监控view文件的变化,提高View渲染性能;
  4. 友好的WebAPI处理,支持多种输出格式JSON,XML, JSONP等
  5. 支持Session
  6. 支持Filter
  7. 支持Cache
  8. 支持Area
  9. 支持自定义错误(如404)处理
  10. 自动监视文件改动,当配置文件改动之后自动加载到服务器中

示例:

package main

import "github.com/Simbory/wemvc"

type HomeController struct {
    wemvc.Controller
}

func (this HomeController) Index() wemvc.ActionResult {
    return this.Content("hello world!<br/><a href=\"/about\">About</a>", "text/html")
}

func (this HomeController) GetAbout() wemvc.ActionResult {
    obj := make(map[string]interface{})
    obj["routeData"] = this.RouteData
    obj["headers"] = this.Request.Header
    return this.Json(obj)
}

func init() {
    wemvc.Route("/", HomeController{})
    wemvc.Route("/<action>", HomeController{})
}

func main() {
    wemvc.Run(8080);
}

另一个更加完整的的示例:

https://github.com/Simbory/wemvc-sample

 

展开阅读全文

代码

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2019/03/10 23:49

go项目收藏

转:http://www.cnblogs.com/52php/p/6060104.html 1、谷歌官方维护了一个基于go语言的开源项目列表:https://github.com/golang/go/wiki/Projects 2、[知乎网] 有哪些值得学习的 Go 语言开源项目? 3、[知乎用户:hack stoic] 看过 awesome-go 项目, 汇总了很多 go 开源项目。 但是 awesome-go 收集了太全了, 而且每个项目没有描述。 因此我自己根据 go 语言中文社区提供的资料,还有互联网企业架构设计中的常见组件分类, ...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
4 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部