第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何通過(guò) Postman 在 go lang 中處理 GET 操作(CRUD)?

如何通過(guò) Postman 在 go lang 中處理 GET 操作(CRUD)?

Go
人到中年有點(diǎn)甜 2021-11-15 20:41:30
我想執(zhí)行一個(gè)獲取操作。我將名稱作為資源傳遞給 URL。我在 Postman 中點(diǎn)擊的 URL 是 :(localhost:8080/location/{titan rolex}我在下拉列表中選擇了 GET 方法)在 Postman 中點(diǎn)擊的 URL 中,我正在執(zhí)行 GetUser func() 的主體為:func GetUser(rw http.ResponseWriter, req *http.Request) {}現(xiàn)在我希望在 GetUser 方法中獲取資源值,即“titan rolex”。我怎樣才能在 golang 中實(shí)現(xiàn)這一目標(biāo)?在 main() 中,我有這個(gè):http.HandleFunc("/location/{titan rolex}", GetUser)提前致謝。
查看完整描述

1 回答

?
阿波羅的戰(zhàn)車(chē)

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

您正在做的是綁定要處理的完整路徑。/location/{titan rolex}GetUser


您真正想要的是綁定/location/<every possible string>以由一個(gè)處理程序處理(例如LocationHandler)。


您可以使用標(biāo)準(zhǔn)庫(kù)或其他路由器來(lái)做到這一點(diǎn)。我將介紹兩種方式:


標(biāo)準(zhǔn)庫(kù):


import (

    "fmt"

    "net/http"

    "log"

)


func locationHandler(w http.ResponseWriter, r *http.Request) {

    name := r.URL.Path[len("/location/"):]

    fmt.Fprintf(w, "Location: %s\n", name)

}


func main() {

    http.HandleFunc("/location/", locationHandler)

    log.Fatal(http.ListenAndServe(":8080", nil))

}

但是請(qǐng)注意,/location/<every possible string>/<some int>/<another string>以這種方式實(shí)現(xiàn)更復(fù)雜的路徑(例如)會(huì)很乏味。


另一種方法是使用github.com/julienschmidt/httprouter,特別是如果您更頻繁地遇到這些情況(并且路徑更復(fù)雜)。


以下是您的用例的示例:


import (

    "fmt"

    "github.com/julienschmidt/httprouter"

    "net/http"

    "log"

)


func LocationHandler(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {

    fmt.Fprintf(w, "Location: %s\n", ps.ByName("loc"))

}


func main() {

    router := httprouter.New()

    router.GET("/location/:loc", LocationHandler)


    log.Fatal(http.ListenAndServe(":8080", router))

}

請(qǐng)注意,httprouter對(duì)處理程序使用稍微不同的簽名。這是因?yàn)?,如您所?jiàn),它還將這些參數(shù)傳遞給函數(shù)。


哦,還有一個(gè)注意事項(xiàng),你可以直接http://localhost:8080/location/titan rolex用你的瀏覽器(或其他東西)點(diǎn)擊 - 如果其他東西足夠好,它會(huì)將 URLEncode 編碼為http://localhost:8080/location/titan%20rolex.


查看完整回答
反對(duì) 回復(fù) 2021-11-15
  • 1 回答
  • 0 關(guān)注
  • 269 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)