如何使用 'routes' 文件读取 Revel 中的查询参数?
How to read query parameters in Revel using the 'routes' file?
我是 Revel 和 golang 的新手。我需要有关如何在 Revel 中访问查询参数并在路由中配置它的帮助。
示例:localhost:9000/company?name=ABC
.
我正在发送上面的 get 请求以从数据库中按名称获取公司。我不知道如何在 routes
文件中配置它。
我的操作有
func (c APP) ShowByName(name string){..}
这是我设置路线的方式:
GET /company?name:name APP.ShowByName
根据 revel 文档,所有请求参数都收集到单个 Params 对象中,其中包括:
The URL /:path parameters
The URL ?query parameters
Submitted Form values
File multipart uploads
提取的参数可通过 Action 方法获得 parameters
。
type Params struct {
url.Values
Files map[string][]*multipart.FileHeader
}
检查 Params 结构,我们可以观察到它使用 url.Values
根据以上信息查询参数url路由可以设置为:
GET /company/:name?name APP.ShowByName
控制器动作:
func (c APP) ShowByName(name string) revel.Result {
...
}
我找到了解决方法。
在实际操作中,我放置了以下代码:
c.Params.Query=c.Request.URL.Query()
var limit int
c.Params.Bind(&limit,"limit")
它适用于以下 URL:
localhost:9000?limit=21
这是完整的代码
revel read query parameter
URL 查询参数自动传递给控制器。
在您的 routes
文件中,只需指定 URL 路径(忽略查询字符串)。
对于问题中给出的示例 localhost:9000/company?name=ABC
,您只需:
(routes file)
GET /company SomeController.ShowByName
然后在controller中,添加函数参数即可。 Revel 会将这些绑定到适当的查询字符串值:
func (c SomeController) ShowByName(name string) revel.Result {
if name == "" {
// handle missing or empty
}
// ...
}
我是 Revel 和 golang 的新手。我需要有关如何在 Revel 中访问查询参数并在路由中配置它的帮助。
示例:localhost:9000/company?name=ABC
.
我正在发送上面的 get 请求以从数据库中按名称获取公司。我不知道如何在 routes
文件中配置它。
我的操作有
func (c APP) ShowByName(name string){..}
这是我设置路线的方式:
GET /company?name:name APP.ShowByName
根据 revel 文档,所有请求参数都收集到单个 Params 对象中,其中包括:
The URL /:path parameters
The URL ?query parameters
Submitted Form values
File multipart uploads
提取的参数可通过 Action 方法获得 parameters
。
type Params struct {
url.Values
Files map[string][]*multipart.FileHeader
}
检查 Params 结构,我们可以观察到它使用 url.Values
根据以上信息查询参数url路由可以设置为:
GET /company/:name?name APP.ShowByName
控制器动作:
func (c APP) ShowByName(name string) revel.Result {
...
}
我找到了解决方法。
在实际操作中,我放置了以下代码:
c.Params.Query=c.Request.URL.Query()
var limit int
c.Params.Bind(&limit,"limit")
它适用于以下 URL:
localhost:9000?limit=21
这是完整的代码 revel read query parameter
URL 查询参数自动传递给控制器。
在您的 routes
文件中,只需指定 URL 路径(忽略查询字符串)。
对于问题中给出的示例 localhost:9000/company?name=ABC
,您只需:
(routes file)
GET /company SomeController.ShowByName
然后在controller中,添加函数参数即可。 Revel 会将这些绑定到适当的查询字符串值:
func (c SomeController) ShowByName(name string) revel.Result {
if name == "" {
// handle missing or empty
}
// ...
}