开始Iris之旅
golang版本1.15
Iris框架的使用
简单的一个demo,创建并启动一个服务
package main
import "github.com/kataras/iris/v12"
func main() {
//创建一个服务
app := iris.New()
//创建一个Get请求,请求的URL是:http://localhost:8080/helloworld
//第一个参数是请求的路由地址,第二个参数为匿名函数
app.Get("/helloworld", func(context iris.Context) {
//获取请求的地址path
path := context.Path()
//将地址信息在日志中打印出来
app.Logger().Info(path)
})
//启动服务,监听8080端口
app.Run(iris.Addr(":8080"))
}
处理请求
Get
向浏览器返回数据
返回字符串
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.Get("/userPath", func(context iris.Context) {
path := context.Path()
app.Logger().Info(path)
//向浏览器返回一个字符串
context.WriteString("请求路径:" + path)
})
app.Run(iris.Addr(":8080"))
}
运行结果:
向浏览器返回HTML页面
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
//处理Get请求,并接受参数
app.Get("/userInfo", func(context iris.Context) {
path := context.Path()
app.Logger().Info(path)
//获取get请求所携带的参数
//第一个参数username
userName := context.URLParam("username")
//第二个参数pwd
pwd := context.URLParam("pwd")
app.Logger().Info(userName, " ", pwd)
//向浏览器返回HTML
context.HTML("<h1>" + userName + "<br>" + pwd + "</h1>")
})
app.Run(iris.Addr(":8080"))
}
运行结果
向浏览器返回JSON数据
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
//Get请求,向浏览器返回Json数据
app.Get("/getJson", func(context iris.Context) {
//方式1
context.JSON(iris.Map{"name": "王五", "age": 18})
//方式2
context.JSON(Person{Name: "刘能",Pwd: "777777"})
})
app.Run(iris.Addr(":8080"))
}
测试结果
向浏览器返回XML格式数据
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
//Get请求,向浏览器返回XML数据
app.Get("/getXML", func(context iris.Context) {
context.XML(Person{Name: "刘六", Pwd: "111111"})
})
app.Run(iris.Addr(":8080"))
}
测试结果
Post
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
//Post请求
app.Post("/postDemoOne", func(context iris.Context) {
//获取Post请求中form表单提交的数据name
name := context.PostValue("name")
//获取Post请求中form表单提交的数据pwd
pwd := context.PostValue("pwd")
//以HTML的格式返回至浏览器
context.HTML("<h1>" + name + "<br>" + pwd + "</h1>")
})
app.Run(iris.Addr(":8080"))
}
结果演示
这里推荐一款API调试工具(ApiPost)在谷歌商店中安装该插件(需科学上网,或自己找安装程序),并且下载客户端
Post请求处理JSON格式的数据
package main
import "github.com/kataras/iris/v12"
//创建一个Person结构体
type Person struct {
Name string `json:"name"`
Pwd string `json:"pwd"`
}
func main() {
app := iris.New()
//Post请求处理JSON格式的数据
app.Post("/postDemoTwo", func(context iris.Context) {
person := &Person{}
err := context.ReadJSON(person)
if err != nil {
panic(err)
}
fmt.Println(person.Name)
fmt.Println(person.Pwd)
})
app.Run(iris.Addr(":8080"))
}
结果演示
控制台打印结果