We are so excited to bring you the release of Relax version 4.1.0 for Coldbox. Though the release version is minor, this version contains a number of enhancements to OpenAPI v3 support, including better formatting and display of the new-to-3.0 requestBody schema and properties. In addition the user experience has been greatly improved as the UI has been rewritten in VueJS and is now optimized for displaying large API documents with hundreds of routes and thousands of methods. Enjoy!

Relax v4.1.0

Improvements

  • Converts the UI from a BackboneJS implementation to VueJS
  • Performance improvements in rendering large APIs
  • Theme and nested objects updated for better meta/list rendering and display

Features

  • Adds additional support for OpenAPI v3 schema definitions ( content, items )
  • Adds auto-generation of examples from schema from examples defined within items/properties, when not explicitly provided
  • Adds a module setting to exclude APIs from display listings

Compat

  • Removes the direct export of PDF documents due to lack of HTML5 support w/in CFDocument. Export button now routes to HTML after providing PDF print instructions
  • Additional OpenAPI v3.x support

System Requirements

  • Lucee 5+
  • ColdFusion 2016+

Installation

Use CommandBox to install:

box install relax

Configuration

You will need to add ColdBox.cfc with a relax structure under the moduleSettings struct with your preferred settings for Relax.

moduleSettings = {
	relax = {
		// The location of the relaxed APIs, defaults to models.resources
		APILocation = "modules.relax.models.resources",
		// Default API to load, name of the directory inside of resources
		defaultAPI = "myapi",
		// APIs to be excluded from display - may be a list or an array and items may include Regex
		exclude         = "",
		// History stack size, the number of history items to retain in the Relaxer test tool
		maxHistory = 10
	}
};

Modeling

You can look at the samples inside of this module under the models/resources directory. To start you can copy the Relax.cfc into your own project folder and then start spicing up the API via the RelaxDSL methods.