2024-07-14 21:17:40 +08:00
2024-07-14 21:17:40 +08:00
2024-06-25 16:36:43 +08:00
2024-07-04 17:37:27 +08:00
2024-01-12 19:18:33 +08:00
2024-07-14 21:17:40 +08:00
2024-07-14 21:17:40 +08:00
2024-02-20 15:34:00 +08:00
2024-06-07 17:39:06 +08:00
2024-02-20 15:34:00 +08:00
2024-01-13 20:44:20 +08:00
2024-06-25 16:36:43 +08:00
2024-02-20 15:34:00 +08:00
2024-02-20 15:34:00 +08:00
2024-06-07 17:39:06 +08:00

NF Web Framework

Usage

basic usage
  • get param
func main() {
    app := nf.New()

    app.Get("/hello/:name", func(c *nf.Ctx) error {
        name := c.Param("name")
        return c.JSON(nf.Map{"status": 200, "data": "hello, " + name})
    })

    log.Fatal(app.Run("0.0.0.0:80"))
}
  • parse request query
func handleQuery(c *nf.Ctx) error {
    type Req struct {
        Name string   `query:"name"`
        Addr []string `query:"addr"`
    }

    var (
        err error
        req = Req{}
    )

    if err = c.QueryParser(&req); err != nil {
        return nf.NewNFError(400, err.Error())
	}

    return c.JSON(nf.Map{"query": req})
}
  • parse application/json body
func handlePost(c *nf.Ctx) error {
    type Req struct {
        Name string   `json:"name"`
        Addr []string `json:"addr"`
    }

    var (
        err error
        req = Req{}
        reqMap = make(map[string]interface{})
    )
	
    if err = c.BodyParser(&req); err != nil {
        return nf.NewNFError(400, err.Error())
    }
	
    // can parse body multi times
    if err = c.BodyParser(&reqMap); err != nil {
        return nf.NewNFError(400, err.Error())
    }
	
    return c.JSON(nf.Map{"struct": req, "map": reqMap})
}
Description
not found web framework from golang fiber's style but implement by http
Readme 244 KiB
Languages
Go 100%