Convert OData CSDL XML or CSDL JSON to OpenAPI


Keywords
OData, OpenAPI, OpenAPI3, Swagger
License
ICU
Install
npm install odata-openapi@0.27.0

Documentation

npm Downloads

README

Members of the OASIS Open Data Protocol (OData) Technical Committee create and manage technical content in this TC GitHub repository ( https://github.com/oasis-tcs/odata-openapi ) as part of the TC's chartered work (i.e., the program of work and deliverables described in its charter).

OASIS TC GitHub repositories, as described in GitHub Repositories for OASIS TC Members' Chartered Work, are governed by the OASIS TC Process, IPR Policy, and other policies, similar to TC Wikis, TC JIRA issues tracking instances, TC SVN/Subversion repositories, etc. While they make use of public GitHub repositories, these TC GitHub repositories are distinct from OASIS Open Repositories, which are used for development of open source licensed content.

Description

The purpose of this repository is to support development of tools for producing OpenAPI descriptions for OData services.

Planned work items include:

  • convert OData CSDL JSON or OData CSDL XML to OpenAPI JSON
  • example XML files
  • example openapi.json files
  • example files for the live odata.org services

Contributions

As stated in this repository's CONTRIBUTING file, contributors to this repository are expected to be Members of the OASIS OData TC, for any substantive change requests. Anyone wishing to contribute to this GitHub project and participate in the TC's technical activity is invited to join as an OASIS TC Member. Public feedback is also accepted, subject to the terms of the OASIS Feedback License.

Licensing

Please see the LICENSE file for description of the license terms and OASIS policies applicable to the TC's work in this GitHub project. Content in this repository is intended to be part of the OData TC's permanent record of activity, visible and freely available for all to use, subject to applicable OASIS policies, as presented in the repository LICENSE file.

Further Description of this Repository

The OData TC has published the OData to OpenAPI Mapping Version 1.0, a recommendation on how to create OpenAPI descriptions for OData services. This project contains two proof-of-concept implementations of that mapping, one using JavaScript, and one using XSLT.

The examples folder contains OpenAPI 3.0.2 descriptions that have been created from the XML $metadata documents of live and example OData services with these proof-of-concept implementations.

The entity-relationship diagrams visualizing the resource models of each service are generated on-the-fly with yUML.

OpenAPI descriptions for live example OData services at www.odata.org

OpenAPI descriptions for OData services that reference each other (cross-service references)

Contact

Please send questions or comments about OASIS TC GitHub repositories to the OASIS TC Administrator. For questions about content in this repository, please contact the TC Chair or Co-Chairs as listed on the the OData TC's home page.