为了账号安全,请及时绑定邮箱和手机立即绑定

没有路由器 Gorilla Mux 的 Google Cloud Go 处理程序?

没有路由器 Gorilla Mux 的 Google Cloud Go 处理程序?

Go
凤凰求蛊 2021-08-23 17:53:14
https://cloud.google.com/appengine/docs/go/users/我在这里看到他们没有指定使用任何路由器......:https : //cloud.google.com/appengine/docs/go/config/appconfig在与 Golang 一起使用的 Google Cloud 中,它说要在app.yaml. 这是否意味着我们不应该使用 3rd 方路由器以获得更好的性能?我想用 GorillaMux做路由器...如果我用其他路由器做 Google App Engine Golang App 会怎样?
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

您可以将 Gorilla Mux 与 App Engine 结合使用。方法如下:


在app.yaml的 handlers 部分的末尾,添加一个脚本处理程序,将所有路径路由到 Go 应用程序:


application: myapp

version: 1

runtime: go

api_version: go1


handlers:


- url: /(.*\.(gif|png|jpg))$

  static_files: static/\1

  upload: static/.*\.(gif|png|jpg)$


- url: /.*

  script: _go_app

该_go_app脚本是 App Engine 编译的 Go 程序。该模式/.*匹配所有路径。


App Engine 生成的主函数将所有请求分派给DefaultServeMux。


在 init() 函数中,创建并配置 Gorilla Router。使用 DefaultServeMux 注册 Gorilla 路由器以处理所有路径:


func init() {

    r := mux.NewRouter()

    r.HandleFunc("/", homeHandler)


    // The path "/" matches everything not matched by some other path.

    http.Handle("/", r)

}


查看完整回答
反对 回复 2021-08-23
  • 1 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信