SdkGenerator 1.1.7
See the version list below for details.
dotnet tool install --global SdkGenerator --version 1.1.7
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local SdkGenerator --version 1.1.7
#tool dotnet:?package=SdkGenerator&version=1.1.7
nuke :add-package SdkGenerator --version 1.1.7
Swashbuckle SDK Generator
This program allows you to generate a hand-optimized software development kit for different programming languages for your REST API.
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 | Most complete support |
Dart | In Progress | No | In development |
Java | Yes | No | |
Python | Yes | No | |
Ruby | In Progress | No | Somewhat supported |
TypeScript | Yes | No |
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.
Attribution
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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.2.5 | 157 | 3/14/2024 |
1.2.4 | 159 | 2/10/2024 |
1.2.3 | 108 | 1/29/2024 |
1.2.2 | 174 | 1/12/2024 |
1.2.1 | 286 | 10/22/2023 |
1.2.0 | 239 | 10/11/2023 |
1.1.9 | 219 | 10/9/2023 |
1.1.8 | 182 | 9/14/2023 |
1.1.7 | 201 | 9/10/2023 |
1.1.6 | 286 | 8/22/2023 |
1.1.5 | 243 | 8/22/2023 |
1.1.4 | 238 | 8/22/2023 |
1.1.3 | 245 | 8/22/2023 |
1.1.2 | 158 | 8/22/2023 |
1.1.2-beta | 113 | 8/22/2023 |
1.1.1 | 149 | 8/19/2023 |
1.1.0 | 126 | 8/18/2023 |
1.0.0 | 165 | 7/28/2023 |
# 1.1.7
September 10, 2023
* Updated build process to modern DotNet standards, with thanks to [Chet Husk](https://github.com/baronfel)
* We no longer need a DotNetToolSettings.xml file nor a NuSpec file