An open API service indexing awesome lists of open source software.

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]

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
```