如何使用“路由”文件读取 Revel 中的查询参数?

我是 Revel 和 golang 的新手。我需要关于如何访问 Revel 中的查询参数并在路由中配置它的帮助。

例子:localhost:9000/company?name=ABC

我正在发送上面的 get 请求,以从数据库中按名称获取公司。我不知道如何在routes文件中配置它。

我的行动有

func (c APP) ShowByName(name string){..}

这就是我设置路线的方式:

GET /company?name:name      APP.ShowByName


幕布斯6054654
浏览 169回答 3
3回答

慕田峪7331174

我找到了解决方案。在行动中,我放置了以下代码:c.Params.Query=c.Request.URL.Query()var limit intc.Params.Bind(&limit,"limit")它适用于以下 URL:localhost:9000?limit=21这是该revel 读取查询参数的完整代码

守着一只汪

根据 revel 文档,所有请求参数都收集到单个 Params 对象中,其中包括:The URL /:path parametersThe URL ?query parametersSubmitted Form valuesFile 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 {    ...}

ABOUTYOU

URL 查询参数会自动传递给控制器。在您的routes文件中,只需指定 URL 路径(忽略查询字符串)。对于localhost:9000/company?name=ABC问题中给出的示例,您只需:(routes file)GET /company      SomeController.ShowByName然后在控制器内,只需添加函数参数。Revel 会将这些绑定到适当的查询字符串值:func (c SomeController) ShowByName(name string) revel.Result {  if name == "" {    // handle missing or empty  }  // ...}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go