https://github.com/gentom/goemon
Goemon/五ヱ門 ʕ◔ϖ◔ʔ - Micro framework for building APIs. [WIP]
https://github.com/gentom/goemon
api-framework golang micro-framework zero-dependency
Last synced: about 1 month ago
JSON representation
Goemon/五ヱ門 ʕ◔ϖ◔ʔ - Micro framework for building APIs. [WIP]
- Host: GitHub
- URL: https://github.com/gentom/goemon
- Owner: gentom
- License: mit
- Created: 2018-08-20T02:40:18.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-08-24T09:39:34.000Z (over 6 years ago)
- Last Synced: 2023-05-30T21:33:10.747Z (over 2 years ago)
- Topics: api-framework, golang, micro-framework, zero-dependency
- Language: Go
- Homepage:
- Size: 7.81 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Goemon
Goemon is a micro framework which is zero-dependencies for building APIs.
Goemon is still in development.
## Usage
```
package main
import (
"fmt"
"net/http"
"net/url"
"github.com/gentom/goemon"
)
func main() {
api := goemon.New()
api.GET("/", root)
api.GET("/hello", hello)
api.GET("/langs/:lang", programmingLangs)
api.GET("/langs/:lang/framework", framework)
api.Start(5000)
}
func root(w http.ResponseWriter, r *http.Request, params url.Values) {
fmt.Fprint(w, "root\n")
}
func hello(w http.ResponseWriter, r *http.Request, params url.Values) {
fmt.Fprint(w, "hello world!\n")
}
func programmingLangs(w http.ResponseWriter, r *http.Request, params url.Values) {
fmt.Fprintf(w, "%s is awesome!", params["lang"])
}
func framework(w http.ResponseWriter, r *http.Request, params url.Values) {
fmt.Fprintf(w, "This is %s's framework", params["lang"])
}
```
If you run the code above and curl the endpoint:
```
$ curl http://localhost:5000/
root
$ curl http://localhost:5000/hello
hello world!
$ curl http://localhost:5000/langs/nim
[nim] is awesome!
$ curl http://localhost:5000/langs/golang/framework
This is [golang]'s framework
```