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

Golang Web 框架Iris安裝部署

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

引言

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

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

Iris 安裝

和其他Web框架一樣,通過 go module 來安裝Iris

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

快速上手

通過簡單的三步曲既可啟動一個Iris服務:

獲取Iris對象-->配置路由的處理邏輯-->啟動監(jiān)聽服務,在main函數(shù)中啟動后,訪問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)聽 8080 端口,并提供Web服務
app.Listen(":8080")

在Iris中使用RESTful風格的API

  • 查詢數(shù)據(jù)

在路由地址中使用中括號{},括起來的部分可以通過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接受表單傳遞過來的參數(shù),同時Iris還提供了PostValueInt、PostValueFloat32等方法,方便將前端傳遞過來的數(shù)據(jù)進行快速轉(zhuǎ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方法,將傳遞過來的數(shù)據(jù)Json格式化到指定的結構體中

定義一個用于接收數(shù)據(jù)的結構體

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方法獲取用戶傳遞過來的數(shù)據(jù),這里也可以結合上面所說的ReadJson方法,讀取用戶傳遞過來的數(shù)據(jù)

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

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

靜態(tài)站點部署

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

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

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

相關文章

  • GO語言實現(xiàn)標題閃爍效果

    GO語言實現(xiàn)標題閃爍效果

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

    一文詳解Go語言中的Option設計模式

    這篇文章主要為大家詳細介紹了Go語言中Option設計模式的相關知識,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的可以了解一下
    2023-05-05
  • 淺析Go語言版本的forgery

    淺析Go語言版本的forgery

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

    Go語言安裝和GoLand2021最全超詳細安裝教程

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

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

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

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

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

    基于原生Go語言開發(fā)一個博客系統(tǒng)

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

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

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

    go語言學習之包和變量詳解

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

    一文帶你了解Go語言中time包的時間常用操作

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

最新評論