Which web framework is best for REST API on production level?


(Taalhach) #1

Hi
i am working with a company that is looking for a web framework to use it on production level our needs are
-REST apis
-Rapid development
-Stable framework
please recommend me best framework and please don’t suggest to use std/lib because RAPID development is our first priority
Thanks


(Sebastian Hennebrueder) #2

I found the following frameworks being referenced a lot
http://www.gorillatoolkit.org/pkg/mux


https://github.com/urfave/negroni Middleware

The folloing libraries help you reload your webservice for faster development.



(Yamil Bracho) #3

You can find a excelent list of tools and libraries for Go in https://github.com/avelino/awesome-go


(Johan Dahl) #4

Hi

Gin is very popular 25k stars on github and a lot of activity


(Boban Acimovic) #6

@laliluna, there is an old no-no for Iris:


(Ignacio Gómez) #7

There’s also more recent reports about it too and they are still bad:


(LI YUQING) #8

I’m writing an open source forum without framework and ORM, maybe you will like it.


(Ralph Jackson) #9

My first REST server development in Go used the go-swagger tool - here is a excerpt from one of our repos README file (names changed to use example).

[Swagger](https://github.com/go-swagger/go-swagger) tool was used to generate this server.
Since the tool only supports v2 of the swagger spec, that version must be used when generating

[Install Swagger](https://goswagger.io/install.html)

```bash
$ swagger generate server --target . --name example --spec example.2.0.yaml

$ tree -d
.
├── cmd
│   └── example-server
├── models
├── restapi
│   └── operations
│       └── example

You can easily update your API file and regenerate the server. Of course, you still have to create handlers to implement your logic.

Some of my colleges are have also used: https://github.com/protocolbuffers/protobuf
Specifically for Go: https://github.com/golang/protobuf

We are able to generate a server that handles both REST and gRPC, which may be of interest to you.