【发布时间】:2021-08-19 04:32:04
【问题描述】:
我正在使用 Go 的 Gin Web 框架创建一个端点。我的处理程序函数中需要完整的服务器 URL。例如,如果服务器在http://localhost:8080 上运行并且我的端点是/foo,那么当我的处理程序被调用时我需要http://localhost:8080/foo。
如果有人熟悉 Python 的快速 API,Request 对象有一个方法 url_for(<endpoint_name>),它具有完全相同的功能:https://stackoverflow.com/a/63682957/5353128
在 Go 中,我尝试访问 context.FullPath(),但这只会返回我的端点 /foo,而不是完整的 URL。除此之外,我在文档中找不到合适的方法:https://pkg.go.dev/github.com/gin-gonic/gin#Context
那么这是否可以通过gin.Context 对象本身实现,或者还有其他方法吗?我对 Go 完全陌生。
【问题讨论】:
-
你想从 gin 上下文中获取
http://localhost:8080/foo还是像你在 python 示例中提到的那样处理路径变量? -
@nipuna 我想从 gin 上下文中获取该基本 URL,因为它是我的处理程序函数中唯一可用的对象。我不想处理路径变量。