In this Article:

   Swagger-OpenAPI 2.0 Code Generators

   OpenAPI 3.0 Code Generators

   RAPID-ML Code Generators

   How do I see all of the available code generators?

   Video: Generating Code in RepreZen API Studio

   Supported Languages and Frameworks


Swagger-OpenAPI 2.0 Code Generators

RepreZen API Studio has over 75 code generation templates, ready to run, for the Swagger API description format, now officially the OpenAPI 2.0 specification:

  • Swagger-Codegen - The open-source Swagger-Codegen project is fully supported, with templates for API implementation scaffolding, client libraries, documentation and interchange formats.

  • OpenAPI Generator - The new OpenAPI-Generator project, based on Swagger-Codegen, provides a similar set of code generators for OpenAPI 2.0 and 3.0.
     
  • NSwag - The popular open source NSwag generator for .NET, Web API and TypeScript is also supported.  See the related topic on NSwag configuration to get started.
     
  • RepreZen GenTemplates  are also provided, including:
    • RepreZen Documentation - a Bootstrap-based HTML format
    • RepreZen Diagram - A unique interactive API diagram
    • Swagger-UI (v2 and v3) -  fully configurable, self-contained Swagger-UI v2 and v3 web pages
    • KaiZen OpenAPI Normalizer - (f/k/a Swagger Normalizer) a versatile pre-processor that combines multi-file projects and external references into a single OpenAPI document, simplified for easy and reliable processing by downstream generators and API documentation formats.  Learn more....

OpenAPI 3.0 Code Generators

API Studio also features robust code generation for OpenAPI 3.0 from RepreZen and the open source community:

  • OpenAPI Generator - The new OpenAPI-Generator project, based on Swagger-Codegen, provides OpenAPI 2.0 and 3.0 templates for API implementation scaffolding, client libraries, documentation and interchange formats.
     
  • RepreZen GenTemplates  are also provided, including:
    • RepreZen Documentation - a Bootstrap-based HTML format
    • RepreZen Diagram - A unique interactive API diagram
    • Swagger-UI (v3) -  fully configurable, self-contained Swagger-UI v3 web pages
    • KaiZen OpenAPI Normalizer - (f/k/a Swagger Normalizer) a versatile pre-processor that combines multi-file projects and external references into a single OpenAPI document, simplified for easy and reliable processing by downstream generators and API documentation formats.  Learn more....

RAPID-ML Code Generators

RAPID-ML currently provides the following code generators:

  • NSwag - The popular open source NSwag generator for .NET, Web API and TypeScript is also supported. These GenTemplates use a two-stage transformation, first generating OpenAPI 2.0, then using NSwag to create the target code.
     
  • RepreZen GenTemplates  are also provided, including:
    • C# ASP.NET Core Server (Experimental) - Work-in-progress implementation of a server scaffold for ASP.NET Core.
    • JAX-RS - Java server scaffold with standard JAX-RS annotations. Requires a Java XML Bindings GenTarget as a prerequisite.
    • JSON Schema - JSON Schema generated for the the API 
    • Java XML Bindings - Annotated Java DTOs. Requires XML Schema as a prerequisite.
    • Node.js Server - Advanced implementation of a Node.js server scaffold.
    • RepreZen Documentation - a Bootstrap-based HTML format
    • RepreZen Diagram - A unique interactive API diagram
    • SOAP UI WADL - A specialized WADL format for import into the open source SOAP UI testing tool. 
    • Swagger (RAPID-XChange Contract) - A Swagger–OpenAPI 2.0 document, optimized for documentation and message validation.
    • Swagger (RAPID-XChange Interop) - A Swagger–OpenAPI 2.0 document, optimized for downstream code generation.
    • WADL - A legacy format for REST API description.
    • XML Schema - Configurable XSD generator.

Custom Code Generators

A unique and powerful feature of RepreZen API Studio is its built-in code generation framework. You can create your own generators using Swagger-Codegen, or RepreZen's powerful, extensible code gen framework based on the Xtend language.  Learn more...


How do I see all of the available code generators? 

With an API specification open in the editor, click the New Generation Target... button on the toolbar, and drop-down the GenTemplate list to see the all of the available code generators:


The GenTemplate list may be filtered by provider, depending on the API specification format:

  • Swagger-OpenAPI 2.0 specifications show GenTemplates from RepreZen, Swagger Codegen, and NSwag by default. GenTemplates from the OpenAPI Generator project are also available, but are excluded by default, since they overlap with Swagger-Codegen.

  • OpenAPI 3.0 specifications show GenTemplates from RepreZen and OpenAPI Generator.

  • RAPID-ML specifications show GenTemplates from RepreZen and NSwag.

You can click the Providers drop-down menu to change the filter:


Video: Generating Code in RepreZen API Studio


Supported Languages and Frameworks

Here's a partial listing of available generators for OpenAPI 2.0 and 3.0:


API Service Implementation Templates:
C#/ASP.NET 5.0

C# Server for ASP.NET Web API 2.0 by NSwag

ASP.NET Core

C# for .NET NancyFx 

Erlang

Go 
Haskell Servant
Java CXF (JAX-RS)
Java / JAX-RS v2.0
Java Inflector
Java Jersey (JAX-RS)
Java RESTEasy (JAX-RS)
Java Spring (Boot, MVC or CloudFeign)
Node.js
PHP Lumen Server
PHP Silex Server
PHP Slim Server
Python Flask Connexion
Rails5 
Ruby Sinatra
Scala Scalatra

API Client Libraries:
Akka-Scala
Android

Bash

C#

C# Client by NSwag

C# for.NET 2.0
C++ 
C++ QT5 
Clojure
Dart

Elixir

Flash
Go 
Groovy
Haskell Servant
Java
JavaScript
JavaScript Closure Angular
JMeter
Objective-C
Perl
PHP
Python
Ruby
Scala
Scala Akka
Scala Async
Swagger-YAML
Swagger-JSON
Swift
Tizen
TypeScript - Angular
TypeScript - Angular2
TypeScript - Fetch
TypeScript-Node

API Documentation:
HTML (Static)
HTML (Dynamic)

RepreZen Diagram

RepreZen HTML Documentation

Swagger-UI v2

Swagger-UI v3


Schema and Interchange Formats:

Swagger (JSON)
Swagger (YAML)

KaiZen OpenAPI Normalizer (JSON and YAML)