go web開發(fā)之iris(三)路由

1.普通路由

package main

import "github.com/kataras/iris"

func main() {
   app := iris.New()
   //GET 方法
   app.Get("/", handler)
   // POST 方法
   app.Post("/", handler)
   // PUT 方法
   app.Put("/", handler)
   // DELETE 方法
   app.Delete("/", handler)
   //OPTIONS 方法
   app.Options("/", handler)
   //TRACE 方法
   app.Trace("/", handler)
   //CONNECT 方法
   app.Connect("/", handler)
   //HEAD 方法
   app.Head("/", handler)
   // PATCH 方法
   app.Patch("/", handler)
   //任意的http請(qǐng)求方法如option等
   app.Any("/", handler)

   app.Run(iris.Addr(":8085"),iris.WithCharset("UTF-8"))
}

// 處理函數(shù)
func handler(ctx iris.Context) {
   ctx.Writef("methdo:%s path:%s",ctx.Method(),ctx.Path())
}

2.路由分組

package main

import "github.com/kataras/iris"

func main()  {
   app := iris.New()

   // 分組
   userRouter := app.Party("/user")
   // route: /user/{name}/home  例如:/user/dollarKiller/home
   userRouter.Get("/{name:string}/home", func(ctx iris.Context) {
      name := ctx.Params().Get("name")
      ctx.Writef("you name: %s",name)
   })
   // route: /user/post
   userRouter.Post("/post", func(ctx iris.Context) {
      ctx.Writef("method:%s,path;%s",ctx.Method(),ctx.Path())
   })


   app.Run(iris.Addr(":8085"),iris.WithCharset("UTF-8"))
}

3.動(dòng)態(tài)路由

func main() {
   app := iris.New()

   // 路由傳參
   app.Get("/username/{name}", func(ctx iris.Context) {
      name := ctx.Params().Get("name")
      fmt.Println(name)
   })

   // 設(shè)置參數(shù)
   app.Get("/profile/{id:int min(1)}", func(ctx iris.Context) {
      i, e := ctx.Params().GetInt("id")
      if e != nil {
         ctx.WriteString("error you input")
      }

      ctx.WriteString(strconv.Itoa(i))
   })

   // 設(shè)置錯(cuò)誤碼
   app.Get("/profile/{id:int min(1)}/friends/{friendid:int max(8) else 504}", func(ctx iris.Context) {
      i, _ := ctx.Params().GetInt("id")
      getInt, _ := ctx.Params().GetInt("friendid")
      ctx.Writef("Hello id:%d looking for friend id: ",i,getInt)
   })// 如果沒有傳遞所有路由的macros试躏,這將拋出504錯(cuò)誤代碼而不是404.

   // 正則表達(dá)式
   app.Get("/lowercase/{name:string regexp(^[a-z]+)}", func(ctx iris.Context) {
      ctx.Writef("name should be only lowercase, otherwise this handler will never executed: %s", ctx.Params().Get("name"))
   })

   app.Run(iris.Addr(":8085"),iris.WithCharset("UTF-8"))
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末能岩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子腺阳,更是在濱河造成了極大的恐慌掀泳,老刑警劉巖盖溺,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遇革,死亡現(xiàn)場(chǎng)離奇詭異沉噩,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)对蒲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門钩蚊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人齐蔽,你說(shuō)我怎么就攤上這事〈补溃” “怎么了含滴?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)丐巫。 經(jīng)常有香客問(wèn)我谈况,道長(zhǎng)勺美,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任碑韵,我火速辦了婚禮赡茸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘祝闻。我一直安慰自己占卧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布联喘。 她就那樣靜靜地躺著华蜒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪豁遭。 梳的紋絲不亂的頭發(fā)上叭喜,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音蓖谢,去河邊找鬼捂蕴。 笑死,一個(gè)胖子當(dāng)著我的面吹牛闪幽,可吹牛的內(nèi)容都是我干的啥辨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼沟使,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼委可!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起腊嗡,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤着倾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后燕少,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卡者,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年客们,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了崇决。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡底挫,死狀恐怖恒傻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情建邓,我是刑警寧澤盈厘,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站官边,受9級(jí)特大地震影響沸手,放射性物質(zhì)發(fā)生泄漏外遇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一契吉、第九天 我趴在偏房一處隱蔽的房頂上張望跳仿。 院中可真熱鬧,春花似錦捐晶、人聲如沸菲语。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)谨究。三九已至,卻和暖如春泣棋,著一層夾襖步出監(jiān)牢的瞬間胶哲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工潭辈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鸯屿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓把敢,卻偏偏與公主長(zhǎng)得像寄摆,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子修赞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容