当前位置: 首页 > 面试题库 >

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

慎建本
2023-03-14
问题内容

https://cloud.google.com/appengine/docs/go/users/

我在这里看到他们没有指定使用任何路由器…:https
:
//cloud.google.com/appengine/docs/go/config/appconfig

在与Golang一起使用的Google
Cloud中,它表示要在中指定每个处理程序app.yaml。这是否意味着我们不应该使用第三方路由器来获得更好的性能?我想要大猩猩Mux作为路由器…如果我将其他路由器用于Google
App Engine Golang App,它将如何工作?

请告诉我。谢谢!


问题答案:

您可以将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)
}


 类似资料:
  • 问题内容: 我有一个带有服务的应用程序,该服务包装了我的API调用: 并且我正在使用UI-Router在状态之间进行转换: 我不再使用普通的AngularJS路由器,并且难以理解如何实现404。我可以看到抛出状态被拒绝,但是如何在状态路由器中捕获它呢? 问题答案: 仅当没有其他 路由 匹配时才调用该规则。您真正想要的是拦截事件,即在状态转换中出现问题(例如,解析失败)时触发的事件。您可以在状态更改

  • 问题内容: 我想为瘦客户端开发html5 SPA应用程序。无法在其上启动任何Web服务器。如果没有Web服务器,我将无法使路由工作。 我的index.html 我的app.js 我正在Chrome的计算机上本地测试此代码。数据绑定的工作原理很吸引人,但无法链接到登录页面。它通向{X}:\ login。所以我的问题是:是否可以使其与Web服务器一起使用?其次,我想完成它所缺少的是什么? 问题答案:

  • 问题内容: 有没有办法在单个函数调用上做到这一点? 就像是: 我知道这是一个语法混乱,但是只是为了给我一个我想实现的目标一个思路,一系列路由就很棒了! 有人知道怎么做吗? 问题答案: 我在寻找相同功能时遇到了这个问题。 @Jonathan Ong在上面的评论中提到,不建议将数组用于路径,但已在Express 4中对其进行了明确描述,并且它在Express 3.x中有效。这是尝试的示例: 从对象内部

  • 我试图用ApacheCamel和Spring Boot编写我的第一个项目。它应该调用Restendpoint并处理数据,但从未调用我的处理器。我做错了什么? 日志显示路由已启动并且它从“Direct://httpRoute”中消耗。但在最后没有日志表明调用了MyProcess。 pplication.java 我的路线。JAVA pom.xml 日志

  • 在Spring ReactiveJava如何使用路由器和处理程序编写方法? 例如,路由器有以下代码: 我的问题是如何编写保持ID不变,但更改雇员对象的其他成员? Employee类如下所示: 谢谢你的帮助。

  • 问题内容: 我有一个注册了处理程序的库(通过),该处理程序在调用时不支持多个线程。就我而言,我不需要分叉的环境中使用,因为我要的是调用右后。所以,我想要但没有任何处理程序。那可能吗?我会错过任何重要的案例吗? 有关背景信息,该库为OpenBlas,此处和此处均描述了该问题。 问题答案: 您可以使用(NPTL实现不调用fork处理程序)。尽管POSIX已从标准中删除,但您的实现中可能会使用它。 当使