Go Web 框架Iris 入门之初识篇

滔哥 2021年02月26日 72次浏览

Iris官网:https://iris-go.com

  • Iris以简单而强大的 api 而闻名。Iris同样擅长MVC。
  • Iris是唯一一个拥有MVC架构模式丰富支持的Go Web框架,性能成本接近于零。
  • Iris为您提供构建面向服务的应用程序的结构,用Iris构建微服务很容易。

首先新建文件夹 GoBBS ,进入该文件夹新建文件 main.go,main.go内容如下:

package main

// 入口 main 方法
func main() {
}

我们依赖由go mod进行管理,接下来我们在GoBBS文件夹下执行以下命令来初始化go mod

# github.com/mlogclub/GoBBS 为包名,根据自己的实际情况自定义
go mod init github.com/mlogclub/GoBBS

初始化完成之后会在项目根目录中生成一个go.mod文件。

在项目根目录执行以下命令来添加 iris 依赖

go get github.com/kataras/iris@master

接下来,我们修改main.go文件,来启动一个简单的 http 服务。代码如下:

package main

import (
    "github.com/kataras/iris"

    "github.com/kataras/iris/middleware/logger"
    "github.com/kataras/iris/middleware/recover"
)

func main() {
    app := iris.New()
    app.Logger().SetLevel("debug")
    // Optionally, add two built'n handlers
    // that can recover from any http-relative panics
    // and log the requests to the terminal.
    app.Use(recover.New())
    app.Use(logger.New())

    // Method:   GET
    // Resource: http://localhost:8080/html
    app.Handle("GET", "/html", func(ctx iris.Context) {
        ctx.HTML("<h1>Hello Iris!</h1>")
    })

    // Method:   GET
    // Resource: http://localhost:8080/text
    app.Get("/text", func(ctx iris.Context) {
        ctx.WriteString("Hello Iris!")
    })

    // Method:   GET
    // Resource: http://localhost:8080/json
    app.Get("/json", func(ctx iris.Context) {
        ctx.JSON(iris.Map{"message": "Hello Iris!"})
    })

    // http://localhost:8080/html
    // http://localhost:8080/text
    // http://localhost:8080/json
    app.Run(iris.Addr(":8080"), iris.WithoutServerError(iris.ErrServerClosed))
}

完成以上代码之后执行以下命令来启动服务:

go run main.go