- Minimal
- Zero external runtime dependencies
- Smart HTTP Routing
- Data binding for JSON form payload
- Middlewares on global, group or single route level
- Full control of http server
You need to have at least go 1.11 installed on you local machine.
Install go route package with go get
go get -u github.com/goroute/route
Start your first server. Create main.go file and add:
package main
import (
"net/http"
"log"
"github.com/goroute/route"
)
type helloResponse struct {
Title string `json:"title"`
}
func main() {
mux := route.NewServeMux()
mux.Use(func(c route.Context, next route.HandlerFunc) error {
log.Println("Hello, Middleware!")
return next(c)
})
mux.GET("/", func(c route.Context) error {
return c.JSON(http.StatusOK, &helloResponse{Title:"Hello, JSON!"})
})
log.Fatal(http.ListenAndServe(":9000", mux))
}
Run it
go run main.go
See examples
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the MIT License - see the LICENSE.md file for details
- This project is largely inspired by echo. Parts of the code are adopted from echo. See NOTICE.