SdkGenerator 1.2.6
This version failed to deploy with the correct embedded resources
See the version list below for details.
dotnet tool install --global SdkGenerator --version 1.2.6
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local SdkGenerator --version 1.2.6
#tool dotnet:?package=SdkGenerator&version=1.2.6
nuke :add-package SdkGenerator --version 1.2.6
Swashbuckle SDK Generator
This program allows you to generate a hand-optimized software development kit for different programming languages for your REST API. It can also generate documentation in Markdown or Readme formats.
Example usage of this program:
This opinionated software makes assumptions about your API and attempts to create a SDK that matches good practices in each programming language. The OpenAPI / Swagger spec permits lots of different ways of doing things; this tool is intended to work only with commonly seen use cases.
Using this program
Here's how to use this program.
- Install the program using NuGet
> dotnet tool install --global SdkGenerator
- Create a project file, then fill out all the values you want to use in it
> sdkgenerator create -p .\myapi.json
- Run the program and build a single language OR build all languages
> sdkgenerator build -p .\myapi.json
You can automate these steps in a Github workflow to execute this program automatically on new releases.
Supported Languages
Language | Supported | Github Workflows | Notes |
---|---|---|---|
C# | Yes | Automated | Live |
Dart | In Progress | No | In development |
Java | Yes | No | |
Python | Yes | No | Live |
Ruby | In Progress | No | Somewhat supported |
TypeScript | Yes | No | Live |
Supported Tools
Language | Supported | Notes |
---|---|---|
Readme | Yes | Markdown-formatted documentation can upload to Guide pages |
Workato | Partially | Somewhat supported |
OpenAPI assumptions
Examples of assumptions about OpenAPI made by this program:
- Only supports OpenAPI 3.0
- Your server supports GZIP encoding and HTTPS connection pooling
- An endpoint returns only a single data type and a single error type
- Each API has a single-word category, a four-word title, and a long remarks section that is a description
- You have a list of public environments (e.g. production, sandbox) that are documented in the SDK
- For test environments or dedicated servers, an SDK user must define a custom environment URL
- Enums are sometimes unsafe for SDK usage; all enums are converted to integers or strings
- Nobody intentionally adds HttpStatusCode to their swagger file; if it appears, ignore it
- Each API has a unique
summary
value in the swagger file which will be used as method names for the SDK
Attribution
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last updated | |
---|---|---|---|
1.3.8 | 114 | 10/30/2024 | |
1.3.7 | 136 | 10/20/2024 | |
1.3.6 | 122 | 10/18/2024 | |
1.3.5 | 109 | 10/5/2024 | |
1.3.4 | 82 | 9/30/2024 | |
1.3.3 | 106 | 9/13/2024 | |
1.3.2 | 107 | 9/3/2024 | |
1.3.1 | 135 | 8/18/2024 | |
1.3.0 | 126 | 8/13/2024 | |
1.2.9 | 115 | 8/13/2024 | |
1.2.8 | 117 | 8/13/2024 | |
1.2.7 | 125 | 8/13/2024 | |
1.2.6 | 111 | 7/25/2024 | |
1.2.5 | 195 | 3/14/2024 | |
1.2.4 | 192 | 2/10/2024 | |
1.2.3 | 211 | 1/29/2024 | |
1.2.2 | 202 | 1/12/2024 | |
1.2.1 | 320 | 10/22/2023 | |
1.2.0 | 269 | 10/11/2023 | |
1.1.9 | 247 | 10/9/2023 | |
1.1.8 | 220 | 9/14/2023 | |
1.1.7 | 227 | 9/10/2023 | |
1.1.6 | 316 | 8/22/2023 | |
1.1.5 | 264 | 8/22/2023 | |
1.1.4 | 270 | 8/22/2023 | |
1.1.3 | 276 | 8/22/2023 | |
1.1.2 | 185 | 8/22/2023 | |
1.1.2-beta | 187 | 8/22/2023 | |
1.1.1 | 172 | 8/19/2023 | |
1.1.0 | 147 | 8/18/2023 | |
1.0.0 | 195 | 7/28/2023 |
# 1.2.6
July 25, 2024
* Fix issue with path combining
* Upgrade to DotNet 8.0
* Do not generate markdown files if not requested
* Make security schemes section blankout optional if users don't want to save keys
* Python: Fix capitalization/list issue
* TypeScript: Fix duplicated import for nested classes