Golang Web 框架Iris安裝部署
引言
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)題閃爍效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07一文詳解Go語(yǔ)言中的Option設(shè)計(jì)模式
這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中Option設(shè)計(jì)模式的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下2023-05-05Go語(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語(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語(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