smithy
kin-openapi
smithy | kin-openapi | |
---|---|---|
5 | 6 | |
1,636 | 2,397 | |
1.7% | 1.9% | |
9.6 | 8.5 | |
3 days ago | 4 days ago | |
Java | Go | |
Apache License 2.0 | 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.
smithy
- Smithy
-
OpenAPI Generator allows generation of API client libraries from OpenAPI Specs
Also check out Smithy from AWS (https://github.com/awslabs/smithy), the code it generates is much better. It's influenced by the new AWS SDKs so it has generator support for Rust.
-
Recommendations for Rust Open-API client generators? (Looking to experiment with api.congress.gov)
https://github.com/awslabs/smithy (maybe?)
-
Smithy: A language for defining services and SDKs
For curiosity and testing what I learned from CocoR https://ssw.jku.at/Research/Projects/Coco/ I created a parser for Smithy that anyone can see/use here https://github.com/awslabs/smithy/issues/793 , also include a transformed the ABNF IDL to an EBNF accepted by https://www.bottlecaps.de/rr/ui
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?
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
GoSwagger - Swagger 2.0 implementation for go
NSwag - The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.
chi - lightweight, idiomatic and composable router for building Go HTTP services
yew - Rust / Wasm framework for creating reliable and efficient web applications
oapi-codegen - Generate Go client and server boilerplate from OpenAPI 3 specifications
smithy-typescript - Smithy code generators for TypeScript. (in development)
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.
smithy-go - Smithy code generators for Go (in development)
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.
progenitor - An OpenAPI client generator