目录
- 引言
- Iris 安装
- 快速上手
- 在Iris中使用RESTful风格的API
- 静态站点部署
引言
Iris作为Golang中新兴的Web框架,比Gin晚了两年,于2016年开源,到目前为止已具备了较为完备的功能,参考Iris官方的数据可以发现,Iris不论在响应速度上还是吞吐量上都比同类型的Web框架高,通过本文可以了解如何在Web项目中使用Iris框架。
Iris 安装
go module
go get github.com/kataras/iris/v12@master
快速上手
通过简单的三步曲既可启动一个Iris服务:
127.0.0.1:8080
app := iris.New() // 指定根路径 / 的处理逻辑 app.Get("/", func(c iris.Context) { c.JSON(iris.Map{ "code": 200, "msg": "success", }) }) // 监听 8080 端口,并提供Web服务 app.Listen(":8080")
在Iris中使用RESTful风格的API
- 查询数据
在路由地址中使用中括号{},括起来的部分可以通过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"), }) })
- 新增数据
PostValuePostValueIntPostValueFloat32
// 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
定义一个用于接收数据的结构体
type Good struct { Name string }
ReadJson
// 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, }) })
- 修改数据
PUTPostValueReadJson
app.Put("/goods", func(c iris.Context) { c.JSON(iris.Map{ "name": c.PostValue("name"), }) })
- 删除数据
app.Delete
静态站点部署
HandleDir127.0.0.1:8080/static/xxx.png
app.HandleDir("/static", "/user/local/my-iris/static")