openapi-preprocessor
gnostic
openapi-preprocessor | gnostic | |
---|---|---|
2 | 1 | |
34 | 1,988 | |
- | 1.0% | |
3.7 | 5.1 | |
about 1 month ago | 16 days ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
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.
openapi-preprocessor
-
Show HN: Monocle – bidirectional code generation library
I use a mixed approach for OpenAPI, but not bidirectional.
I have OpenAPI pieces generated from my Go source code (comment, types, function signatures) as JSON.
I also have a manually-edited master YAML document that refers to generated bits via $ref links.
I then use openapi-preprocessor [1] (disclaimer: I wrote it) to produce a final openapi.json file which is committed in the repo.
When I want to extend the API in a spec-first process, I can add the new routes manually in the YAML file. When I do the implementation I replace the manual bits by the generated one when they are ready. When committing I can check the diff of openapi.json to verify I'm not losing in the process.
[1] https://github.com/dolmen-go/openapi-preprocessor
-
JSON Schema bundling finally formalised
Bundling for OpenAPI specification has long been a need for authors to allow to reduce duplication, and to allow to split a big specification in multiples files, but publish a single one.
A few years ago I've written a tool to fit that niche: https://github.com/dolmen-go/openapi-preprocessor
https://github.com/dolmen-go/openapi-preprocessor
I have now to tweak it (well, it will be a major rewrite) to handle $ref relative to $id instead of the file location.
gnostic
-
gRPC gateway vs oapi-codegen etc.
The tool for generating OpenAPI docs from a proto definition is gnostic (https://github.com/google/gnostic). But see the comments in this issue about conversion the other way (from OpenAPI to proto): https://github.com/google/gnostic/issues/162
What are some alternatives?
oasdiff - OpenAPI Diff and Breaking Changes
openapi-mock - OpenAPI mock server with random data generation
zod - TypeScript-first schema validation with static type inference
kin-openapi - OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more)
ajv - The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927)
openapi-generator-go - An opinionated OpenAPI v3 code generator for Go. Use this to generate API models and router scaffolding.
api-firewall - Fast and light-weight API proxy firewall for request and response validation by OpenAPI specs.
vacuum - vacuum is the worlds fastest OpenAPI 3, OpenAPI 2 / Swagger linter and quality analysis tool. Built in go, it tears through API specs faster than you can think. vacuum is compatible with Spectral rulesets and generates compatible reports.
io-ts - Runtime type system for IO decoding/encoding
openapi-go - OpenAPI structures for Go
apiclarity - An API security tool to capture and analyze API traffic, test API endpoints, reconstruct Open API specification, and identify API security risks.
myzod