2024 年 5 个 GO REST API 框架
warning:
这篇文章距离上次修改已过191天,其中的内容可能已经有所变动。
以下是五个流行的Go语言REST API框架,并附有简短的描述和示例代码。
Gin
Gin是一个用Go编写的web框架,它以简单的API为主要设计原则提供功能。
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/hello", func(c *gin.Context) {
c.JSON(200, gin.H{"message": "Hello world!"})
})
r.Run() // 默认在0.0.0.0:8080启动服务
}
Echo
Echo是一个高性能的Go Web框架,它以路由功能为核心。
package main
import (
"net/http"
"github.com/labstack/echo"
)
func main() {
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
})
e.Start(":8080")
}
Iris
Iris是另一个Go语言的高性能Web框架,它以性能优越和易用性为设计原则。
package main
import "github.com/kataras/iris"
func main() {
app := iris.Default()
app.Get("/", func(ctx iris.Context) {
ctx.JSON(iris.Map{"message": "Hello world!"})
})
app.Listen(":8080")
}
Beego
Beego是一个开源的Go语言网络框架,它具有丰富的功能,例如路由、MVC、日志、配置管理、数据库操作、缓存等。
package main
import "github.com/astaxie/beego"
type MainController struct {
beego.Controller
}
func (c *MainController) Get() {
c.Data["json"] = map[string]string{"message": "Hello world!"}
c.ServeJSON()
}
func main() {
beego.Router("/", &MainController{})
beego.Run()
}
Revel
Revel是一个高生产力的Go语言Web框架,它以简单性和高生产力为设计原则。
package controllers
import "github.com/revel/revel"
type AppController struct {
*revel.Controller
}
func (c AppController) Hello() revel.Result {
return c.RenderJson(map[string]string{"message": "Hello world!"})
}
以上代码片段提供了不同Go REST API框架的简单示例。每个示例都创建了一个基础的API,监听8080端口,并对根URL的GET请求进行处理,返回一个简单的JSON响应。开发者可以根据具体需求进一步扩展这些示例。
评论已关闭