/spec3

Primary LanguageGoApache License 2.0Apache-2.0

OAI object model Build Status codecov Slack Status

license GoDoc

This repository is not usable at this moment, the implementation is incomplete

The object model for OpenAPI specification v3 documents.

It aims to fix some mistakes that were made in the spec for v2. Top-level maps are now sorted by default so you can rely on their ordering.

Schemas

Schema struct{} + map Unit tests (struct{} + map)
OpenAPI ☑️ 🔲
Info ☑️ 🔲
Contact ☑️ 🔲
License ☑️ 🔲
Server ☑️ 🔲
Server Variable ☑️ + 🔲 🔲 + 🔲
Components ☑️ 🔲
Paths ☑️ 🔲
Path Item ☑️ + 🔲 🔲 + 🔲
Operation ☑️ 🔲
External Documentation ☑️ 🔲
Parameter ☑️ + 🔲 🔲 + 🔲
Request Body ☑️ + 🔲 🔲 + 🔲
Media Type ☑️ + 🔲 🔲 + 🔲
Encoding ☑️ + 🔲 🔲 + 🔲
Responses ☑️ + 🔲 🔲 + 🔲
Response ☑️ 🔲
Callback ☑️ + 🔲 🔲 + 🔲
Example ☑️ + 🔲 🔲 + 🔲
Link ☑️ + 🔲 🔲 + 🔲
Header ☑️ + 🔲 🔲 + 🔲
Tag ☑️ 🔲
Reference ☑️ 🔲
Schema 🔲 + 🔲 🔲 + 🔲
Discriminator ☑️ 🔲
XML ☑️ 🔲
Security Scheme ☑️ + 🔲 🔲 + 🔲
OAuth Flows ☑️ 🔲
OAuth Flow ☑️ 🔲
Security Requirement ☑️ 🔲

TODO

  • Update OrderedMap to use ART under the hood instead of the golang's map
  • Use GoJay for decoding/encoding the JSON
  • Retire EasyJson dependency from the project