golang中的Catch-All URL

时间:2018-05-10 22:46:36

标签: go

我打算在golang中重写我的烧瓶应用程序。我试图找到一个很好的例子来捕捉golang中的所有路径,类似于我下面的烧瓶应用程序。

from flask import Flask, request, Response
app = Flask(__name__)

@app.route('/')
def hello_world():
  return 'Hello World! I am running on port ' + str(port)


@app.route('/health')
def health():
  return 'OK'

@app.route('/es', defaults={'path': ''})
@app.route('/es/<path:path>')
def es_status(path):
  resp = Response(
       response='{"version":{"number":"6.0.0"}}',
       status=200,
       content_type='application/json; charset=utf-8')
  return resp

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以查看Gorilla Mux这是golang的热门URL路由器和调度程序。可以使用Mux将所有路径的示例捕获配置为:

r := mux.NewRouter()
r.HandleFunc("/specific", specificHandler)
r.PathPrefix("/").Handler(catchAllHandler)