SDKgen is a powerful code generator to automatically build client SDKs for your REST API.
SDKgen provides a seamless integration across different programming languages, our generator streamlines common OOP concepts and data types so that the generated client SDK feels like handwritten code. The following table provides a feature overview across all supported languages.
The generated code works with a corresponding package for each programming language which must be installed at your project. The following page provides an overview of all available packages:
Language | Repository | Package |
---|---|---|
TypeScript | GitHub | sdkgen-client |
Java | GitHub | app.sdkgen.client |
PHP | GitHub | sdkgen/client |
Go | GitHub | - |
CSharp | GitHub | Sdkgen.Client |
Python | GitHub | sdkgen-client |
Feature | TypeScript | Java | PHP | Go | CSharp | Python |
---|---|---|---|---|---|---|
Class/Struct | ||||||
Inheritance | 1 | |||||
Union | 2 | 3 | 4 | |||
Intersection | 5 | 6 | 7 | 8 | ||
Generics | 9 |
Type / Format | TypeScript | Java | PHP | Go | CSharp | Python |
---|---|---|---|---|---|---|
map |
Record<string, T>
|
Map<String, T>
|
Record
10
|
map[string]T
|
Dictionary<string, T>
|
Dict[str, T]
|
array |
Array<T>
|
List<T>
|
array
|
[]T
|
List<T>
|
List[T]
|
string |
string
|
String
|
string
|
string
|
string
|
str
|
integer |
number
|
int
|
int
|
int
|
int
|
int
|
integer / int32 |
number
|
int
|
int
|
int32
|
int
|
int
|
integer / int64 |
number
|
long
|
int
|
int64
|
long
|
int
|
float |
number
|
double
|
float
|
float64
|
double
|
float
|
boolean |
boolean
|
boolean
|
bool
|
bool
|
bool
|
bool
|
any |
any
|
Object
|
mixed
|
any
|
object
|
Any
|
string / date |
Date
|
LocalDate
|
DateTime
|
time.Time
|
DateOnly
|
datetime.date
|
string / date-time |
Date
|
LocalDateTime
|
DateTime
|
time.Time
|
DateTime
|
datetime.datetime
|
string / time |
Date
|
LocalTime
|
DateTime
|
time.Time
|
TimeOnly
|
datetime.time
|
string / period |
string
|
Period
|
DateInterval
|
string
|
TimeSpan
|
datetime.timedelta
|
string / duration |
string
|
Duration
|
DateInterval
|
time.Duration
|
TimeSpan
|
datetime.timedelta
|
string / uri |
URL
|
URI
|
string
|
url.URL
|
Uri
|
string
|
string / binary |
string
|
byte[]
|
string
|
[]byte
|
byte[]
|
bytearray
|
$extends
at a type so that it still works like expected.Object
type to allow all values.any
type to allow all values.any
type to allow all values..