rest
kin-openapi
rest | kin-openapi | |
---|---|---|
11 | 6 | |
314 | 2,397 | |
3.8% | 1.9% | |
6.6 | 8.5 | |
about 1 month ago | 1 day ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rest
- I write HTTP services in Go after 13 years (Mat Ryer, 2024)
-
Create Production-Ready SDKs with Goa
Swaggest Rest can generate OpenAPI definitions from Go code, but it's not as comprehensive as Goa and does not support gRPC.
-
[Request] Library Recommendation for Auto Swagger/OpenAPIv3 Documentation
This is what I use: https://github.com/swaggest/rest
-
FastAPI Replacement - especially with openapi
This has been the best implementation of the use case interactor I’ve seen and it outputs spec 3: https://github.com/swaggest/rest
-
What is the recommended/preferred web architecture for web applications / services written in Go?
Other times you might need a JSON REST API to generate OpenAPI docs code-first… for that I’m a fan of Swaggest REST. REST through clean arch.
- Gorilla toolkit maintainers are stepping down and have been looking for new maintainers. The project could otherwise be archived.
-
Go stack for REST APIs?
For full code-first OpenAPI v3 REST, I’ve been using https://github.com/swaggest/rest and I like it.
-
Best golang framework for microservice
For anything that needs OpenAPI docs, I’ve honestly found https://github.com/swaggest/rest pretty awesome. It’s basically just doc generation on top of Chi, but it does a lot of stuff right.
-
Do you use frameworks?
I used Echo for a lot of stuff (and it was easy to work with), but recently OpenAPI 3 has been a requirement, so I've switched to https://github.com/swaggest/rest
-
Do you use swagger to generate backends?
I've tried go-swagger comments to instrument existing code, but wasn't quite satisfied due to magical nature and error friendliness of those comments. So I decided to implement first-class OpenAPI generation on top of self-documenting action handlers: https://github.com/swaggest/rest/blob/master/_examples/basic/main.go. Schemas are generated from request and response structures using reflection and field tags.
kin-openapi
-
Create Production-Ready SDKs With gRPC Gateway
We'll use the excellent kin-openapi Go library to convert the OpenAPI 2.0 schema to OpenAPI 3.0.
-
OpenAPI Generator allows generation of API client libraries from OpenAPI Specs
What is your language?
I've found kin-openapi to be good for Go:
https://github.com/getkin/kin-openapi
-
swaggo/swag alternative, but should generate OpenAPI 3.0 spec file
I recently used https://github.com/getkin/kin-openapi openapi2 and openapi2conv to convert the v2 yaml to v3 yaml.
-
Any good OpenAPI 3.x spec generator for a Go REST API?
This might not be very helpful, but I've have found every "generate spec from code" package to be limited sooner or later, and that's across languages. I finally settled on writing the spec file by hand, linting it in CI using openapi-cli, and using kin-openapi in Go tests to ensure responses match their schema.
-
What are your favorite packages to use?
oklog/ulid to generate IDs. coreos/go-oidc for validating JWTs I get from auth. google/go-cmp for comparing structs in tests (unless the project is already using Testify). spf13/pflag because life's too short for Go's flag handling. getkin/kin-openapi for validating reqests/responses against my OpenAPI spec (in tests).
-
Do you use swagger to generate backends?
Then define the corresponding YAML/JSON specification (again manually) either using Swagger 2.0 (with go-swagger) or OpenAPI 3 (with kin-openapi), and
What are some alternatives?
ogen - OpenAPI v3 code generator for go
GoSwagger - Swagger 2.0 implementation for go
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
chi - lightweight, idiomatic and composable router for building Go HTTP services
swag - Automatically generate RESTful API documentation with Swagger 2.0 for Go.
oapi-codegen - Generate Go client and server boilerplate from OpenAPI 3 specifications
opentracing-go - OpenTracing API for Go. 🛑 This library is DEPRECATED! https://github.com/opentracing/specification/issues/163
Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
Goyave - 🍐 Elegant Golang REST API Framework (v5 release candidate available)
swagger2markup - A Swagger to AsciiDoc or Markdown converter to simplify the generation of an up-to-date RESTful API documentation by combining documentation that’s been hand-written with auto-generated API documentation.