SDKgen is a powerful code generator to automatically build client SDKs for your REST API.

Sign in   Sign up

Language

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.

Package

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

Concepts

Feature TypeScript Java PHP Go CSharp Python
Class/Struct
Inheritance 1
Union 2 3 4
Intersection 5 6 7 8
Generics 9

Data-Types

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
1
Go has no inheritance support at the language level but our code generator will merge automatically the properties if you use an $extends at a type so that it still works like expected.
2/4/5/7
Java and CSharp has no union or intersection support at the language level our generator will simply use an Object type to allow all values.
3/6
Go has no union or intersection support at the language level our generator will simply use an any type to allow all values.
8
Python has no intersection support (union support is available) our generator will simply use an any type to allow all values..
9
PHP has no generics support at the language level but it is supported by using doc annotations. Through this a static code analyzer can check the types.
10
In general our generator tries to only use native types of the programming language so that the generated code is portable. For PHP there is unfortunately no map type available thus we use a user-land map implementation.