
⨁ gnostic
This repository contains a Go command line tool which converts JSON and YAML
OpenAPI descriptions to and
from equivalent Protocol Buffer representations.
Protocol Buffers provide a
language-neutral, platform-neutral, extensible mechanism for serializing
structured data. gnostic's Protocol Buffer models for the OpenAPI
Specification can be used to generate code that includes data structures with
explicit fields for the elements of an OpenAPI description. This makes it
possible for developers to work with OpenAPI descriptions in type-safe ways,
which is particularly useful in strongly-typed languages like Go and
Dart.
gnostic reads OpenAPI descriptions into these generated data structures,
reports errors, resolves internal dependencies, and writes the results in a
binary form that can be used in any language that is supported by the Protocol
Buffer tools. A plugin interface simplifies integration with API tools written
in a variety of different languages, and when necessary, Protocol Buffer
OpenAPI descriptions can be reexported as JSON or YAML.
gnostic compilation code and OpenAPI Protocol Buffer models are
automatically generated from an
OpenAPI JSON Schema.
Source code for the generator is in the generate-gnostic
directory.