51 lines
785 B
Go
51 lines
785 B
Go
package main
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"log"
|
|
"nf"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
app := nf.New()
|
|
|
|
app.Get("/hello", func(c *nf.Ctx) error {
|
|
return c.SendString("world")
|
|
})
|
|
|
|
app.Get("/world", func(c *nf.Ctx) error {
|
|
return errors.New("nice")
|
|
})
|
|
|
|
v1 := app.Group("/v1")
|
|
v1.Use(NewRecovery())
|
|
v1.Get("/hello", func(c *nf.Ctx) error {
|
|
return c.JSON(nf.Map{"version": "v1", "date": time.Now()})
|
|
})
|
|
|
|
v1.Get(
|
|
"/name",
|
|
func(c *nf.Ctx) error {
|
|
c.Locals("name", "zyp")
|
|
panic("name")
|
|
return c.Next()
|
|
},
|
|
func(c *nf.Ctx) error {
|
|
return c.SendString(fmt.Sprintf("hi, %s", c.Locals("name1")))
|
|
},
|
|
)
|
|
|
|
v2 := v1.Group("/v2")
|
|
v2.Use(Logger())
|
|
v2.Get(
|
|
"/name",
|
|
func(c *nf.Ctx) error {
|
|
return c.SendString("hi, loveuer")
|
|
},
|
|
)
|
|
|
|
log.Fatal(app.Run(":7733"))
|
|
}
|