亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用“路由”文件讀取 Revel 中的查詢參數?

如何使用“路由”文件讀取 Revel 中的查詢參數?

Go
幕布斯6054654 2021-12-13 18:41:11
我是 Revel 和 golang 的新手。我需要關于如何訪問 Revel 中的查詢參數并在路由中配置它的幫助。例子:localhost:9000/company?name=ABC。我正在發送上面的 get 請求,以從數據庫中按名稱獲取公司。我不知道如何在routes文件中配置它。我的行動有func (c APP) ShowByName(name string){..}這就是我設置路線的方式:GET /company?name:name      APP.ShowByName
查看完整描述

3 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

我找到了解決方案。


在行動中,我放置了以下代碼:


c.Params.Query=c.Request.URL.Query()

var limit int

c.Params.Bind(&limit,"limit")

它適用于以下 URL:


localhost:9000?limit=21

這是該revel 讀取查詢參數的完整代碼


查看完整回答
反對 回復 2021-12-13
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

根據 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 {

    ...

}


查看完整回答
反對 回復 2021-12-13
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

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

  }

  // ...

}


查看完整回答
反對 回復 2021-12-13
  • 3 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號