标签: beego

转到模板:如何访问模板中的数组项(arr [2])?

如何在模板中访问数组项(例如[2])?

每当我这样做,我得到"坏人物U + 005B'['"

{{ .a[2] }}
Run Code Online (Sandbox Code Playgroud)

templates go beego

42
推荐指数
2
解决办法
1万
查看次数

Beego:在每次请求之前创建一个新的orm?

目前,我在访问数据库的每个函数的开头使用以下命令.

o := orm.NewOrm()
o.Using("default") // Using default, you can use other database
Run Code Online (Sandbox Code Playgroud)

感觉就像我应该在路由器初始化时只做一次.这可能是一个安全问题吗?

orm go beego

6
推荐指数
1
解决办法
479
查看次数

有没有办法强制刷新主机?

我正在运行一个Beego应用程序,它依赖于/ etc/hosts中的更新(通过Docker链接)来查找其他服务器./ etc/hosts更新正常,但应用程序不会使用新主机,除非它重新启动或等待太长时间.在查看了src/net/hosts的文档后,看起来我被锁定了5分钟的刷新时间.

有没有办法强制这个缓存刷新或我是否以错误的方式看待这个问题?

go beego

6
推荐指数
1
解决办法
444
查看次数

从Firefox到Beego服务器的CORS提取在飞行前停止

我在Firefox 44.0.2浏览器中的http:// localhost:3000上运行了一个ecmascript 7浏览器应用程序.它发布在https://localdev.net:8443上运行的Beego 1.6.0服务器上.'localdev.net'位于同一个框中,并解析为localhost地址.浏览器代码是:

var serverURL = 'https://localdev.net:8443/v1/user/login'
fetch(serverURL, {
  method: 'post',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  mode: 'cors',
  cache: 'default',
  body: JSON.stringify({username: this.state.username, password: this.state.password})
})
.then(function(response){
  if (response.status >= 200 && response.status < 300) {
    return Promise.resolve(response)
  }
  return Promise.reject(new Error(response.statusText))
})
.then(function(data){
  console.log('data: ' + data)
})
.catch((err) => console.error(serverURL, err.toString()))
Run Code Online (Sandbox Code Playgroud)

}

beego服务器配置为处理CORS请求,如下所示:

beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
  AllowOrigins:     []string{"*"},
  AllowMethods:     []string{"*"},
  AllowHeaders:     []string{"Origin"},
  ExposeHeaders:    []string{"Content-Length"},
  AllowCredentials: true,
}))
Run Code Online (Sandbox Code Playgroud)

Wireshark看到客户端向服务器发送飞行前CORS选项请求:

OPTIONS /v1/user/login …
Run Code Online (Sandbox Code Playgroud)

javascript firefox fetch cors beego

6
推荐指数
1
解决办法
802
查看次数

Beego POST请求正文总是空的

我正在使用Beego的便捷方法来解析请求正文值,并具有以下内容:

路由器文件:

    apiNamespace := beego.NewNamespace("/api")

    apiNamespace.Router("/sessions/google/new", &controllers.SessionsController{}, "get:GoogleNewSession")

    beego.AddNamespace(apiNamespace)
Run Code Online (Sandbox Code Playgroud)

控制器代码:

func (c *SessionsController) URLMapping() {
    c.Mapping("GoogleNewSession", c.GoogleNewSession)
}

func (c *SessionsController) GoogleNewSession() {

    // Always serve JSON
    defer func() {
        c.ServeJson()
    }()

    // This is always blank
    log.Printf("'Received %+v'", c.Ctx.Input.RequestBody)

    c.Ctx.ResponseWriter.WriteHeader(200)
    return

    // truncated
}
Run Code Online (Sandbox Code Playgroud)

前端JS(超级代理):

    request
    .post('/sessions/google/new')
    .use(prefix)
    .send({ code: authCode })
    .set('Accept', 'application/json')
    .end(function(err, res){
        console.log("******* request", res.request)
         if (res.ok) {
            var body = res.body;
            console.log('yay got ' + JSON.stringify(res.body));
         } else {
            console.log("***** err", err);
            console.log("***** not …
Run Code Online (Sandbox Code Playgroud)

http go superagent beego

5
推荐指数
1
解决办法
4518
查看次数

如何在golang中将字符串值作为json对象返回?

我正在使用gogo与beego框架,我有服务字符串作为json的问题.

EventsByTimeRange以json格式返回字符串值

this.Data["json"] = dao.EventsByTimeRange(request) // this -> beego controller
this.ServeJson()

"{\"key1\":0,\"key2\":0}"
Run Code Online (Sandbox Code Playgroud)

我怎样才能摆脱引号?

rest json go beego

5
推荐指数
1
解决办法
3112
查看次数

如何为beego应用编写测试用例?

如何为Beego应用编写测试用例。正如我在Beego网站上看到的那样,他们有模型测试用例,但是控制器呢?

有什么框架可以提供帮助吗?

unit-testing go testcase beego

5
推荐指数
1
解决办法
1524
查看次数

如何验证 JSON 输入

我正在使用 Beego 框架在 Go 中构建一个 Web 应用程序。我必须在 API 请求中验证传入的 JSON。

我可以将 JSON 解组为一个工作正常的结构,但我也想验证数据。例如,如果类型与 struct json.Unmarshal 中的类型不匹配,将在第一次出现时返回错误。我想一次验证并获取 JSON 的所有错误。

我已经尝试过,https://github.com/thedevsaddam/govalidator但该包需要对 Beego 控制器中不可用的请求对象的引用。还有其他验证器可以验证结构,但我也想要 json 验证。

编辑:

可以从控制器的上下文对象中找到对 beego 中请求对象的引用,如下所示:

func (this *MainController) Post() {
    fmt.Println(this.Ctx.Request)
}
Run Code Online (Sandbox Code Playgroud)

但是问题仍然与 json unmarshal 相同。如果类型有任何轻微的不匹配, json.unmarshal 会立即恐慌。我也希望能够验证类型。

validation json go beego

5
推荐指数
2
解决办法
1万
查看次数

如何在beego框架中设置acces-control-allow-origin

我正在使用服务器上的beego框架和客户端上的AngularJS开发RESTFul API.服务器和客户端都在我的笔记本电脑中(仍在开发中).客户端在127.0.0.1:8000上运行,服务器在127.0.0.1:8080上运行.

当我尝试命中一个端点(使用AngularJS $ http服务).我收到以下错误:

XMLHttpRequest cannot load http://127.0.0.1:8080/v1/products/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8000' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)

我知道我必须在beego上设置这个CORS的东西.不幸的是,在搜索谷歌后,我得到的唯一答案是来自官方网站(在评论部分),这对我来说不够清楚.有什么建议吗?我应该写什么样的代码以及把它放在哪里?谢谢.

go angularjs beego

4
推荐指数
1
解决办法
2044
查看次数

如何使用Beego框架进行数据库迁移?

我需要向现有表中添加一个新字段,使用Beego进行此操作的正确过程是什么?

我对Django的南部很熟悉:首先使用生成迁移脚本manage.py schema_migration,然后执行迁移脚本manage.py migrate

Beego有一个命令bee generate migration可以在中生成迁移脚本database/migrations/xxx.go。但是我不明白如何使用这个生成的脚本,它似乎没有任何关联。

而且我看不到任何有关迁移的文档。

migration database-migration go beego

4
推荐指数
1
解决办法
4192
查看次数