Iris框架使用(一)——基本使用
1. Iris框架
1.1 Golang框架
Golang常用框架有:Gin、Iris、Beego、Buffalo、Echo、Revel,其中Gin、Beego和Iris较为流行。Iris是目前流行Golang框架中唯一提供MVC支持(实际上Iris使用MVC性能会略有下降)的框架,并且支持依赖注入,使用入门简单,能够快速构建Web后端,也是目前几个框架中发展最快的,从2016年截止至目前总共有17.4k stars(Gin 35K stars)。
Iris is a fast, simple yet fully featured and very efficient web framework for Go. It provides a beautifully expressive and easy to use foundation for your next website or API.
1.2 安装Iris
Iris官网:https://iris-go.com/
Iris Github:https://github.com/kataras/iris
# go get -u -v 获取包
go get github.com/kataras/iris/v12@latest
# 可能提示@latest是错误,如果版本大于11,可以使用下面打开GO111MODULE选项
# 使用完最好关闭,否则编译可能出错
go env -w GO111MODULE=on
# go get失败可以更改代理
go env -w GOPROXY=https://goproxy.cn,direct
2. 使用Iris构建服务端
2.1 简单例子1——直接返回消息
package main
import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/middleware/logger"
"github.com/kataras/iris/v12/middleware/recover"
)
func main() {
app := iris.New()
app.Logger().SetLevel("debug")
// 设置recover从panics恢复,设置log记录
app.Use(recover.New())
app.Use(logger.New())
app.Handle("GET", "/", func(ctx iris.Context) {
ctx.HTML("<h1>Hello Iris!</h1>")
})
app.Handle("GET", "/getjson", func(ctx iris.Context) {
ctx.JSON(iris.Map{
"message": "your msg"})
})
app.Run(iris.Addr("localhost:8080"))
}
其他便捷设置方法:
// 默认设置日志和panic处理
app := iris.Default()
我们可以看到iris.Default()的源码:
// 注:默认设置"./view"为html view engine目录
func De