欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang Web 框架Iris安裝部署

 更新時(shí)間:2022年08月12日 16:33:31   作者:GetcharZp  
這篇文章主要為大家介紹了Golang Web 框架Iris安裝部署,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

Iris作為Golang中新興的Web框架,比Gin晚了兩年,于2016年開(kāi)源,到目前為止已具備了較為完備的功能,參考Iris官方的數(shù)據(jù)可以發(fā)現(xiàn),Iris不論在響應(yīng)速度上還是吞吐量上都比同類(lèi)型的Web框架高,通過(guò)本文可以了解如何在Web項(xiàng)目中使用Iris框架。

官方文檔:www.iris-go.com/docs/#/?id=…

Iris 安裝

和其他Web框架一樣,通過(guò) go module 來(lái)安裝Iris

go get github.com/kataras/iris/v12@master

快速上手

通過(guò)簡(jiǎn)單的三步曲既可啟動(dòng)一個(gè)Iris服務(wù):

獲取Iris對(duì)象-->配置路由的處理邏輯-->啟動(dòng)監(jiān)聽(tīng)服務(wù),在main函數(shù)中啟動(dòng)后,訪問(wèn)127.0.0.1:8080可以獲得返回的json數(shù)據(jù) {"code":200,"msg":"success"}

app := iris.New()
// 指定根路徑 / 的處理邏輯
app.Get("/", func(c iris.Context) {
   c.JSON(iris.Map{
      "code": 200,
      "msg":  "success",
   })
})
// 監(jiān)聽(tīng) 8080 端口,并提供Web服務(wù)
app.Listen(":8080")

在Iris中使用RESTful風(fēng)格的API

  • 查詢(xún)數(shù)據(jù)

在路由地址中使用中括號(hào){},括起來(lái)的部分可以通過(guò)c.Params().Get()的方式獲取

// curl 127.0.0.1:8080/goods/123
app.Get("/goods/{id}", func(c iris.Context) {
   c.JSON(iris.Map{
      "id":  c.Params().Get("id"),
   })
})
  • 新增數(shù)據(jù)

使用PostValue接受表單傳遞過(guò)來(lái)的參數(shù),同時(shí)Iris還提供了PostValueInt、PostValueFloat32等方法,方便將前端傳遞過(guò)來(lái)的數(shù)據(jù)進(jìn)行快速轉(zhuǎn)化成相對(duì)應(yīng)的類(lèi)型,或者設(shè)置其該有的默認(rèn)值等

// curl -X POST -d 'name=goods_name' 127.0.0.1:8080/goods
app.Post("/goods", func(c iris.Context) {
   c.JSON(iris.Map{
      "id":  c.PostValue("name"),
   })
})

使用ReadJson方法,將傳遞過(guò)來(lái)的數(shù)據(jù)Json格式化到指定的結(jié)構(gòu)體中

定義一個(gè)用于接收數(shù)據(jù)的結(jié)構(gòu)體

type Good struct {
   Name string
}

使用ReadJson方法將context中的數(shù)據(jù)渲染到good上

// curl -X POST -d '{"name":"goods_name"}' 127.0.0.1:8080/goods
good := new(Good)
app.Post("/goods", func(c iris.Context) {
   c.ReadJSON(good)
   c.JSON(iris.Map{
      "name":  good.Name,
   })
})
  • 修改數(shù)據(jù)

使用PUT方法封裝路由,使用PostValue方法獲取用戶(hù)傳遞過(guò)來(lái)的數(shù)據(jù),這里也可以結(jié)合上面所說(shuō)的ReadJson方法,讀取用戶(hù)傳遞過(guò)來(lái)的數(shù)據(jù)

app.Put("/goods", func(c iris.Context) {
   c.JSON(iris.Map{
      "name":   c.PostValue("name"),
   })
})
  • 刪除數(shù)據(jù)

刪除數(shù)據(jù)這里不同的點(diǎn)是使用app.Delete方法,至于參數(shù)的傳遞與獲取方面與上文的查詢(xún)數(shù)據(jù)時(shí)所說(shuō)的方法一致了

靜態(tài)站點(diǎn)部署

通過(guò)HandleDir方法指定靜態(tài)資源文件所處的目錄即可,參考以下代碼配置后,訪問(wèn)地址127.0.0.1:8080/static/xxx.png,就能獲取到static目錄下的xxx圖片

app.HandleDir("/static", "/user/local/my-iris/static")

以上就是Golang Web 框架Iris安裝部署的詳細(xì)內(nèi)容,更多關(guān)于Golang Web框架Iris的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • GO語(yǔ)言實(shí)現(xiàn)標(biāo)題閃爍效果

    GO語(yǔ)言實(shí)現(xiàn)標(biāo)題閃爍效果

    這篇文章主要介紹了GO語(yǔ)言實(shí)現(xiàn)標(biāo)題閃爍效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 一文詳解Go語(yǔ)言中的Option設(shè)計(jì)模式

    一文詳解Go語(yǔ)言中的Option設(shè)計(jì)模式

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中Option設(shè)計(jì)模式的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-05-05
  • 淺析Go語(yǔ)言版本的forgery

    淺析Go語(yǔ)言版本的forgery

    使用過(guò)Python語(yǔ)言的朋友們可能使用過(guò) forgery_py ,它是一個(gè)偽造數(shù)據(jù)的工具。這篇文章主要介紹了Go語(yǔ)言版本的forgery,需要的朋友可以參考下
    2018-08-08
  • Go語(yǔ)言安裝和GoLand2021最全超詳細(xì)安裝教程

    Go語(yǔ)言安裝和GoLand2021最全超詳細(xì)安裝教程

    Go語(yǔ)言和GoLand的關(guān)系好比于java和idea、python和pycharm,因此我們需要先安裝好Go語(yǔ)言后才能安裝GoLand。它的安裝和java,python的安裝大同小異,好了,下面給大家?guī)?lái)了GoLand2021安裝教程,需要的朋友參考下吧
    2021-08-08
  • go中控制goroutine數(shù)量的方法

    go中控制goroutine數(shù)量的方法

    這篇文章主要介紹了go中控制goroutine數(shù)量的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 淺談go中cgo的幾種使用方式

    淺談go中cgo的幾種使用方式

    本文主要介紹了淺談go中cgo的幾種使用方式,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 基于原生Go語(yǔ)言開(kāi)發(fā)一個(gè)博客系統(tǒng)

    基于原生Go語(yǔ)言開(kāi)發(fā)一個(gè)博客系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了如何基于原生Go語(yǔ)言開(kāi)發(fā)一個(gè)簡(jiǎn)單的博客系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • Go并發(fā)之RWMutex的源碼解析詳解

    Go并發(fā)之RWMutex的源碼解析詳解

    RWMutex是一個(gè)支持并行讀串行寫(xiě)的讀寫(xiě)鎖。RWMutex具有寫(xiě)操作優(yōu)先的特點(diǎn),寫(xiě)操作發(fā)生時(shí),僅允許正在執(zhí)行的讀操作執(zhí)行,后續(xù)的讀操作都會(huì)被阻塞。本文就來(lái)從源碼解析一下RWMutex的使用
    2023-03-03
  • go語(yǔ)言學(xué)習(xí)之包和變量詳解

    go語(yǔ)言學(xué)習(xí)之包和變量詳解

    這篇文章主要給大家愛(ài)介紹了關(guān)于go語(yǔ)言學(xué)習(xí)之包和變量的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用go語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • 一文帶你了解Go語(yǔ)言中time包的時(shí)間常用操作

    一文帶你了解Go語(yǔ)言中time包的時(shí)間常用操作

    在日常開(kāi)發(fā)中,我們避免不了時(shí)間的使用,我們可能需要獲取當(dāng)前時(shí)間,然后格式化保存,也可能需要在時(shí)間類(lèi)型與字符串類(lèi)型之間相互轉(zhuǎn)換等。本文將會(huì)對(duì)?Go?time?包里面的常用函數(shù)和方法進(jìn)行介紹,需要的可以參考一下
    2022-12-12

最新評(píng)論