如何使用 Gorilla Mux 处理可选 URL 变量
可以在 Gorilla Mux 库中实现使用可选 URL 变量创建路由。让我们探讨一下如何做到这一点:
当前设置和问题:
提供的代码定义了一个需要在 URL 中包含整数变量 id 的路由,但并非所有场景可能需要一个id。目标是让路由接受两种情况:有 id 变量和没有 id 变量。
解决方案:
要实现此目的,请注册处理程序两次:
r.HandleFunc("/view", MakeHandler(ViewHandler)) r.HandleFunc("/view/{id:[0-9]+}", MakeHandler(ViewHandler))
通过在没有任何参数的情况下使用路径 /view 注册处理程序,即使没有任何参数,它也允许路由工作id.
处理变量:
从请求中检索变量时,必须检查 id 变量是否存在:
vars := mux.Vars(r) id, ok := vars["id"] if !ok { // Directory listing or equivalent logic return } // Specific view logic
如果请求中不存在 id(即请求了 /view),则 ok 变量将为 false,并且您可以适当地处理它(例如,显示目录列表)。否则,id 值可在特定视图处理程序中使用。
以上是如何处理 Gorilla Mux 中的可选 URL 参数?的详细内容。更多信息请关注PHP中文网其他相关文章!