SDKgen

A powerful code generator to automatically build client SDKs for your REST API.

Sign up Login in

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
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
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.
part of the Apioo-Project