beego 1.4.0 版本发布,Go 应用框架

astaxie
 astaxie
发布于 2014年08月22日
收藏 39

这个版本整整憋了两个月时间,主要是我们真的做了好多功能性上面的改进,这里要感谢所有给beego贡献的用户,也感谢给beego持续提各种改进意见的用户,下面是我们这次改进的特性

1. bee工具的完整性改进,bee现在支持了如下功能:

bee api 直接从数据库读取数据库表,一键生成API应用带文档,详细介绍看视频:http://www.tudou.com/programs/view/aM7iKLlBlrU/

bee generate命令,这个是新增加的命令,可以用来自动化生成代码,主要有如下子命令: 

     - scaffold 类似其他框架的脚手架功能,生成controller、model、view、migration

     - model 生成CRUD的model

     - controller 生成CRUD的controller 

     - view  生成CRUD的view文件,内容为空,需要用户自己做UI界面

     - migration  生成migration文件

     - appcode  从数据库根据表结构生成model、controller、router

     - docs  从controller注释自动化生成swagger文档

bee migrate 命令,执行migration,支持如下子命令

     - migrate 执行所有新的migration

     - rollback 回滚最后一次执行的migration

     - reset 回滚所有的migration

     - refresh 回滚所有的migration并从头执行全部的migration

 bee run改进,默认支持了watchall功能,增加了两个参数gendoc和downdoc

2. config模块增加新的接口,现在config模块支持如下接口,支持直接保存文件:

type ConfigContainer interface {
	Set(key, val string) error   // support section::key type in given key when using ini type.
	String(key string) string    // support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same.
	Strings(key string) []string //get string slice
	Int(key string) (int, error)
	Int64(key string) (int64, error)
	Bool(key string) (bool, error)
	Float(key string) (float64, error)
	DefaultString(key string, defaultval string) string      // support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same.
	DefaultStrings(key string, defaultval []string) []string //get string slice
	DefaultInt(key string, defaultval int) int
	DefaultInt64(key string, defaultval int64) int64
	DefaultBool(key string, defaultval bool) bool
	DefaultFloat(key string, defaultval float64) float64
	DIY(key string) (interface{}, error)
	GetSection(section string) (map[string]string, error)
	SaveConfigFile(filename string) error
}

3. middleware中支持另一种i18n的支持:

I18N = middleware.NewLocale("conf/i18n.conf", beego.AppConfig.String("language"))

配置文件如下:

{
  "E-mail Address": {
    "en": "E-mail Address",
    "zh": "邮箱地址",
    "vn": "อีเมล"
  },
  "Username": {
    "en": "Ussername",
    "zh": "用户名",
    "vn": "tên truy nhập"
  }
}

使用如下:

I18N.Translate("username", "vn")

4. namespace前缀支持正则:

beego.NewNamespace("/v1/:uid",
	beego.NSNamespace("/customer",
		beego.NSInclude(
			&controllers.CustomerController{},
			&controllers.CustomerCookieCheckerController{},
		),
	),
)

5. cache和session模块的memcache、redis引擎修改到最新版本的驱动

6. 增加开发打印路由调试功能:

2014/08/22 09:55:40 [I] | GET | /          | 7.660221504s     | match      | / |
2014/08/22 09:55:40 [I] | GET | /          | 13.421869836s    | match      | / |
2014/08/22 09:55:40 [I] | GET | /          | 1.726185752s     | match      | / |
2014/08/22 09:55:40 [I] | GET | /user/login| 7.494079ms       | match      | /user/login |

7. log 的等级符合RFC5424规范

8. 静态文件处理支持robots.txt,用户放在static目录下即可

9. 增加和简化plugins功能:

  • auth 支持basicauth,详细使用请看https://godoc.org/github.com/astaxie/beego/plugins/auth

  • cors 支持跨站调用,详细使用请看https://godoc.org/github.com/astaxie/beego/plugins/cors

10. 新增了AdminUI,用户在EnableAdmin的情况下,可以通过界面简单地获取当前应用的各种状态,同时可以很容易的调试性能,监控系统,执行任务,获取配置等

    

11. session配置现在支持设置cookie domain

12. 新增migration包,支持migration的功能

13. getconfg方法改为public方法,用户就可以通过改方法获取相应runmode下的配置文件

14. 改进httplib的方法支持SetAgent和BasicAuth的请求,httplib支持请求一次,读取多次

修复bug:

1. file session在部分情况下内容消失问题
2. docs自动化生成,文件不更新
3. 路由namespace的前缀不支持
4. orm修正detect engine
5. 修复captcha里面当用户验证码输入长度不对时不进行更新
6. 调用setstatus之后后面调用的setHeader全部无效的问题
7. 修复smtp发送邮件需要验证的情况
8. 修复utils下safemap的items问题
8. 修复geturl函数当参数多个时不带?的问题

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:beego 1.4.0 版本发布,Go 应用框架
加载中

最新评论(33

飞天黄蜀黍
飞天黄蜀黍
刚刚开始用在一个restful的纯api的项目中,发现了很多惊喜,只要自己在架构上稍加修改,完全能够搭建和java的ssh类似的工程,快速的进行功能开发,支持下
无锡首席大都督程序员
为什么官网没有同步版本?
astaxie
astaxie

引用来自“无糖咖啡”的评论

最近更新好频繁
最近是多久啊,都已经两个月了,不更新你就悲伤了,更新说明活跃度很高,说明框架在不断改进
OSC首席保安
OSC首席保安
最近更新好频繁
OpenIoT
OpenIoT

引用来自“心中彩虹”的评论

看了beeapi视频,有点不明白:在实际场景中,有些api,并不仅仅是对某个数据表进行操作,而是要对多表操作。这种情况下,用beeapi,该如何实现?还望谢大,能给举个栗子!

引用来自“astaxie”的评论

你觉得bee功能能帮你完成全部的逻辑自动化吗?很明显是不行的,你如果要对多表操作就自己写逻辑啊
多谢谢大的回复!我的理解也是如此!祝beego越来越好!
astaxie
astaxie

引用来自“ben.”的评论

web中常用的诸如用户注册,激活,登录,登出,密码找回,这些重复功能如果能打包成rails 的组件一样,web开发速度会提高很多。所以我觉得bee 的下一步应该开放一个包管理的功能,发展自有插件。
确实如此,这一块我没想好怎么集成
ben.
ben.
web中常用的诸如用户注册,激活,登录,登出,密码找回,这些重复功能如果能打包成rails 的组件一样,web开发速度会提高很多。所以我觉得bee 的下一步应该开放一个包管理的功能,发展自有插件。
独孤影
独孤影
正在用beego做一个博客,支持beego,希望文档越来越完善。
独孤影
独孤影
正在用beego做一个博客,支持beego,希望文档越来越完善。
overlords
overlords
返回顶部
顶部