Skip to content

OpenAPI v3.1 Spec implementation in Go with generics

License

Notifications You must be signed in to change notification settings

sv-tools/openapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenAPI v3.1 Specification

Code Analysis Go Reference codecov GitHub tag (latest SemVer)

The implementation of OpenAPI v3.1 Specification for Go using generics.

Supported Go versions:

  • v1.22
  • v1.21
  • v1.20

Versions:

  • v0 - Deprecated. The initial version with the full implementation of the v3.1 Specification using generics. See v0 branch.
  • v1 - The current version with the in-place validation of the specification. The minimal version of Go is v1.20 and the github.com/santhosh-tekuri/jsonschema/v5 package is not used anymore. See main branch.

Features

  • The spec folder contains full implementation of the v3.1 Specification using generics and errors.Join function, so the minimum supported version of Go is v1.20.
  • The spec.ValidateSpec function validates the specification without transforming it to map[string]any.
  • The official v3.0 and v3.1 examples are tested. In most cases v3.0 specification can be converted to v3.1 by changing the version's parameter only.
    @@ -1,4 +1,4 @@
    -openapi: "3.0.0"
    +openapi: "3.1.0"

NOTE: The descriptions of most structures and their fields are taken from the official documentations.

Links

License

MIT licensed. See the bundled LICENSE file for more details.