This extension adds a context menu item REST API Client Code Generator when right-clicking on JSON or YAML files in the VS Code explorer. The context menu provides the following code generation options:
C# Generators
NSwag: Generates a C# REST API Client using NSwag
Refitter: Generates a C# Refit interface using Refitter
OpenAPI Generator: Generates a C# REST API Client using OpenAPI Generator
Microsoft Kiota: Generates a C# REST API Client using Microsoft Kiota
Swagger Codegen CLI: Generates a C# REST API Client using Swagger Codegen CLI
AutoREST: Generates a C# REST API Client using AutoREST
TypeScript Generators
Angular: Generates a TypeScript REST API Client for Angular
Aurelia: Generates a TypeScript REST API Client for Aurelia
Axios: Generates a TypeScript REST API Client for Axios
Fetch: Generates a TypeScript REST API Client for Fetch
Inversify: Generates a TypeScript REST API Client for Inversify
jQuery: Generates a TypeScript REST API Client for jQuery
NestJS: Generates a TypeScript REST API Client for NestJS
Node: Generates a TypeScript REST API Client for Node
Redux Query: Generates a TypeScript REST API Client for Redux Query
RxJS: Generates a TypeScript REST API Client for RxJS
Screenshot
Requirements
For C# code generation
.NET SDK 6.0 or higher
Java Runtime Environment (for OpenAPI Generator and Swagger Codegen CLI)
NPM (for AutoREST and NSwag)
For TypeScript code generation
Node.js and NPM
OpenAPI Generator
The extension uses the rapicgen .NET tool to generate the code. If not already installed, you will be prompted to install it when first attempting to generate code.
Settings and Configuration
The extension includes configurable settings:
restApiClientCodeGenerator.namespace: Default namespace to use in generated code (default: "GeneratedCode")
restApiClientCodeGenerator.outputDirectory: Output directory relative to workspace folder (default: same directory as the specification file)
How to Use
Right-click on a Swagger/OpenAPI specification file (JSON or YAML) in the VS Code explorer
Select "REST API Client Generator" in the context menu
Choose your desired language (C# or TypeScript)
Select one of the available generators for that language
The generated code will be saved in the configured output directory and opened in the editor
Dependencies
C# Dependencies
The C# code generated by each generator depends on different NuGet packages:
NSwag: Depends on Newtonsoft.Json
Refitter: Depends on Refit
OpenAPI Generator: Depends on RestSharp, JsonSubTypes, Polly, Newtonsoft.Json
Microsoft Kiota: Depends on Microsoft.Kiota.* packages and Azure.Identity
Swagger Codegen CLI: Depends on RestSharp and JsonSubTypes
AutoREST: Depends on Microsoft.Rest.ClientRuntime and Newtonsoft.Json
TypeScript Dependencies
The TypeScript code generated depends on the framework chosen:
Angular: Depends on @angular/core, rxjs
Axios: Depends on axios
Fetch: Uses the browser's native fetch API
jQuery: Depends on jquery
RxJS: Depends on rxjs
For other frameworks, please refer to their official documentation or the OpenAPI Generator documentation for detailed dependency information.