如何在 Gin 的 url 中添加语言前缀?
How to add language prefix in url in Gin?
我想在 url 中添加语言前缀,例如 localhost/en/someurl 或 localhost/de/一些url。
我找到了这个解决方案:
en := r.Group("/en")
{
en.GET("/someurl", ...)
...
}
de := r.Group("/de")
{
de.GET("/someurl", ...)
...
}
但它需要重复所有路由器,添加新语言将需要另一次重复。我可以用 Gin 避免它吗?
使用 path parameter 怎么样?
r.Get("/:lang/someurl", ...)
然后您可以在处理程序中访问语言:
func(c *gin.Context) {
lang := c.Param("lang")
// ...
}
我想在 url 中添加语言前缀,例如 localhost/en/someurl 或 localhost/de/一些url。 我找到了这个解决方案:
en := r.Group("/en")
{
en.GET("/someurl", ...)
...
}
de := r.Group("/de")
{
de.GET("/someurl", ...)
...
}
但它需要重复所有路由器,添加新语言将需要另一次重复。我可以用 Gin 避免它吗?
使用 path parameter 怎么样?
r.Get("/:lang/someurl", ...)
然后您可以在处理程序中访问语言:
func(c *gin.Context) {
lang := c.Param("lang")
// ...
}