GolangNote

Golang笔记

plimble/ace golang web 框架入门

Permalink

plimble/ace 是个后起的Golang web 框架,大家还不熟知。但性能很好,Handler 表现方式也灵活。

plimble/ace

简单示例

Go: ace hello
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main

import (
    "github.com/plimble/ace"
)

func main() {
    a := ace.Default()
    //a := ace.New()
    a.GET("/:name", func(c *ace.C) {
        name := c.Param("name")
        c.JSON(200, map[string]string{"hello": name})
    })
    a.Run(":8080")
}

路由形式

Go: 路由形式
1
2
3
4
5
6
7
a.DELETE("/", HandlerFunc)
a.HEAD("/", HandlerFunc)
a.OPTIONS("/", HandlerFunc)
a.PATCH("/", HandlerFunc)
a.PUT("/", HandlerFunc)
a.POST("/", HandlerFunc)
a.GET("/", HandlerFunc)

路由示例

Go: 路由示例
1
2
3
4
5
6
7
8
9
10
11
a := ace.New()

a.GET("/", func(c *ace.C){
    c.String(200, "Hello world")
})

a.POST("/form/:id/:name", func(c *ace.C){
    id := c.Param("id")
    name := c.Param("name")
    age := c.Request.PostFormValue("age")
})

不同形式的输出

JSON

Go: json
1
2
3
4
5
6
data := struct{
    Name string `json:"name"`
}{
    Name: "John Doe",
}
c.JSON(200, data)

String

Go: String
1
c.String(200, "Hello Ace")

Download

Go: stream
1
2
//application/octet-stream
c.Download(200, []byte("Hello Ace"))

HTML

Go: HTML
1
c.HTML("index.html")

Redirect

Go: Redirect
1
c.Redirect("/home")

ace 项目主页 https://github.com/plimble/ace

本文网址: https://golangnote.com/topic/18.html 转摘请注明来源

Related articles

Golang quicktemplate 模版快速入门

Golang 有很多的模版引擎,自带的 `html/template` 也很好,大多数情况都能满足需求,只是有些逻辑、条件判断不好在模版里实现, `quicktemplate` 是个很好的选择。...

golang 实现的基于web的文件管理-filebrowser

FileBrowser 在指定目录中提供了一个文件管理界面,可用于上传,删除,预览,重命名和编辑文件。它允许创建多个用户,每个用户都可以有自己的目录。它可以用作独立的应用程序。...

Golang Web 程序生产环境独立部署示例

一个 web 应用通常是跑在一个前端代理,如 Nginx 后,这样可以方便的在同一个服务器部署多个应用。这里说的独立部署是指让 go web 程序直接暴露在外面,独占 443、80 端口(俗称裸跑)。这样做除了性能有些提高外,更重要的是部署方便。...

golang Selenium WebDriver 使用记录

Selenium WebDriver 直接通过浏览器自动化的本地接口来调用浏览器,以达到模拟浏览器行为的操作,如点击、选择、鼠标移动等。下面是记录个人使用golang 驱动的记录。...

Write a Comment to "plimble/ace golang web 框架入门"

Submit Comment Login
Based on Golang + fastHTTP + sdb | go1.22.3 Processed in 0ms