This repo contains a simple/basic HTTP server in Go, with a basic code organization. We use:
- net/http package to start and serve HTTP server
- Gorilla mux to handle routes
- Swagger in lorder to serve a REST API compliant with OpenAPI specs
Install Go in 1.13 version minimum.
$ go build -o bin/http-go-server internal/main.go
or
$ make build
$ ./bin/http-go-server
$ curl http://localhost:8080/healthz
OK
$ curl http://localhost:8080/hello/aurelie
Swagger doc: http-go-server
URL | Port | HTTP Method | Operation |
---|---|---|---|
/healthz | 8080 | GET | Test if the app is running |
/hello/{name} | 8080 | GET | Returns message with {name} provided in the query |
$ curl localhost:8080/hello/aurelie
After editing pkg/swagger/swagger.yml
file you need to generate swagger files again:
$ make gen.swagger
$ make swagger.validate
$ make swagger.doc