BoxLang 🚀 A New JVM Dynamic Language Learn More...

swagger-sdk

v3.0.0+25 Modules

Coldbox OpenAPI SDK ( aka Swagger )

The OpenAPI Software Development Kit for the Coldbox Platform

This module allows for software development using the Swagger/OpenAPI specification and utilizes the v3.0.x OpenAPI Specification

See These Other Swagger/OpenAPI-aware Coldbox Modules

  • Relax - Model, Document and Test your APIs
  • cbSwagger - AutoDocument your ColdBox APIs to OpenAPI Specs. This module will introspect your app and produce a beautiful open api document for you dynamically.

Install ( via Commandbox )

box install swagger-sdk

Usage

This SDK allows for creation, parsing, and normalization of OpenAPI documentation.

Parse a Swagger JSON or YML file:

var APIDoc = getInstance( "OpenAPIParser@SwaggerSDK" ).init( DocumentPathOrURL );

This returns the parsed document object, which can be fully normalized ( e.g. $ref attributes are loaded and normalized within the document ) with APIDoc.getNormalizedDocument()

You may also export the normalized document object to JSON (APIDoc.asJSON()), YAML (APIDoc.asYAML()), or as Struct++ (APIDoc.asStruct())


Note : in order to maintain order, the struct format used is a Java.util.LinkedHashmap. In order to access struct keys you will need to use braces ( e.g. = APIDoc[ "info" ][ "title" ] )


See the APIDocs for additional information on methods and functions available in the SDK (https://apidocs.ortussolutions.com/#/coldbox-modules/swagger-sdk/)

LICENSE

Apache License, Version 2.0.


Copyright Since 2005 ColdBox Framework by Luis Majano and Ortus Solutions, Corp www.ortussolutions.com


HONOR GOES TO GOD ABOVE ALL

Because of His grace, this project exists. If you don't like this, then don't read it, its not for you.

"Therefore being justified by faith, we have peace with God through our Lord Jesus Christ: By whom also we have access by faith into this grace wherein we stand, and rejoice in hope of the glory of God. And not only so, but we glory in tribulations also: knowing that tribulation worketh patience; And patience, experience; and experience, hope: And hope maketh not ashamed; because the love of God is shed abroad in our hearts by the Holy Ghost which is given unto us. ." Romans 5:5

THE DAILY BREAD

"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


[3.0.0] => 2024-MAY-30

Fixed

  • cbSwagger #35 Fixed an issue where inheritance $ref pointers on a Zoomed document could not be found
  • Added handling to for null values in parsed $ref JSON documents

Added

Changed

  • Removed assignment of x-resourceId keys used by Relax from Swagger SDK parsing. cbSwagger #20, cbSwagger #27
  • Removed support for Adobe Coldfusion 2016
  • SnakeYaml version bumped to v1.33

[2.1.0] => 2021-NOV-12

Added

  • Adobe 2021 Support
  • Migration to github actions
  • Allow for refs that contain refs thanks to @elpete
  • Handle refs in arrays thanks to @elpete
  • Removed entrypoint for cleanup of routes
  • Remove empty externalDocs object as the default value. Many validation and linting tools do not allow empty strings as valid urls or descriptions. Additionally, externalDocs is hardly used. Users may add it back in if they would like, but the default will be to omit it.

Fixed

  • Allows explicit nulls in samples to pass through

[2.0.0] => 2019-SEP-02

  • Open API 3.02 support instead of swagger
  • New template layout
  • Engine removals: lucee4.5, ACF10, ACF11
  • Upgraded jackson-core to latest v2.9.9
  • Upgraded snakeyaml to latest v1.24
  • Added more tests
  • Added ability to chain methods on all methods that where void before.
  • document.asYAML() is not fully implemented so you can convert the document to yaml.
  • Upgraded createLinkedHashMap() to use new ACF structNew( "ordered" ) instead.

[1.0.4] => 2017-NOV-02

  • Adds security definitions to default template

[1.0.2] => 2017-FEB-19

  • Adobe Coldfusion compatibility updates

[1.0.1] => 2016-DEC-12

  • Adds $ref support for relative and remote ( http[s] )

[1.0.0] => 2016-OCT-02

  • Initial Module Release

$ box install swagger-sdk

No collaborators yet.
     
  • {{ getFullDate("2016-09-30T17:19:25Z") }}
  • {{ getFullDate("2024-05-30T19:48:32Z") }}
  • 9,551
  • 117,867