FORGEBOX Enterprise 🚀 - Take your ColdFusion (CFML) Development to Modern Times! Learn More...

swagger-sdk

v2.0.0 Public

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( "[email protected]" ).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

v2.0.0

  • 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.

v1.0.4

  • Adds security definitions to default template

v1.0.2

  • Adobe Coldfusion compatibility updates

v1.0.1

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

v1.0.0

  • Initial Module Release

Here are all the versions for this package. Please note that you can leverage CommandBox package versioning to install any package you like. Please refer to our managing package version guide for more information.

Version Created Last Update Published By Stable Actions
Current
2.1.0-snapshot Sep 02 2019 05:02 PM Sep 02 2019 05:02 PM
Version History
2.0.0 Jun 25 2019 08:05 PM Sep 25 2019 11:38 AM
1.0.4+59 Aug 14 2018 04:14 PM Aug 14 2018 04:14 PM
1.0.4+54 Jan 12 2018 08:37 AM Jan 12 2018 08:37 AM
1.0.4+51 Nov 02 2017 08:07 PM Nov 02 2017 08:07 PM
1.0.4+49 Nov 02 2017 07:29 PM Nov 02 2017 07:29 PM
1.0.4-snapshot Nov 02 2017 07:33 PM Nov 02 2017 07:33 PM
1.0.3+47 Sep 09 2017 04:23 PM Sep 09 2017 04:23 PM
1.0.3-snapshot Sep 03 2017 11:20 AM Sep 03 2017 11:20 AM
1.0.2+33 Feb 19 2017 11:36 AM Feb 19 2017 11:36 AM
1.0.2-be+42 Feb 20 2017 11:40 AM Feb 20 2017 11:40 AM
1.0.2-be+41 Feb 20 2017 08:58 AM Feb 20 2017 08:58 AM
1.0.2-be+40 Feb 20 2017 08:52 AM Feb 20 2017 08:52 AM
1.0.2-be+29 Feb 19 2017 10:50 AM Feb 19 2017 10:50 AM
1.0.1+20 Oct 02 2016 12:17 PM Oct 02 2016 12:17 PM
1.0.1+19 Oct 02 2016 12:04 PM Oct 02 2016 12:04 PM
1.0.1+00002 Sep 30 2016 05:22 PM Oct 01 2016 06:03 PM

 

No collaborators yet.
     
  • Sep 30 2016 05:19 PM
  • Sep 25 2019 11:38 AM
  • 2,659
  • 4,189
  • 17,174