| POST | /Stammdaten/Create |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class CreateStammdatenResponse implements IConvertible
{
ResponseStatus? responseStatus;
CreateStammdatenResponse({this.responseStatus});
CreateStammdatenResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "CreateStammdatenResponse";
TypeContext? context = _ctx;
}
// @DataContract
class BrennstoffMedium implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="Bezeichnung")
String? Bezeichnung;
// @DataMember(Name="Lagernd")
bool? Lagernd;
// @DataMember(Name="EinheitTyp")
String? EinheitTyp;
// @DataMember(Name="Heizwert")
double? Heizwert;
BrennstoffMedium({this.Guid,this.Bezeichnung,this.Lagernd,this.EinheitTyp,this.Heizwert});
BrennstoffMedium.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
Bezeichnung = json['label'];
Lagernd = json['storable'];
EinheitTyp = json['einheitType'];
Heizwert = JsonConverters.toDouble(json['heizwert']);
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'bezeichnung': Bezeichnung,
'lagernd': Lagernd,
'einheitTyp': EinheitTyp,
'heizwert': Heizwert
};
getTypeName() => "BrennstoffMedium";
TypeContext? context = _ctx;
}
// @DataContract
class DeviceCatalog implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="TypKurz")
String? TypKurz;
// @DataMember(Name="TypLang")
String? TypLang;
// @DataMember(Name="Ablesbar")
bool? Ablesbar;
// @DataMember(Name="Klasse")
String? Klasse;
// @DataMember(Name="Abzug")
bool? Abzug;
// @DataMember(Name="Hkvv")
bool? Hkvv;
// @DataMember(Name="Funk")
bool? Funk;
DeviceCatalog({this.Guid,this.TypKurz,this.TypLang,this.Ablesbar,this.Klasse,this.Abzug,this.Hkvv,this.Funk});
DeviceCatalog.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
TypKurz = json['typeShort'];
TypLang = json['typeLong'];
Ablesbar = json['readable'];
Klasse = json['class'];
Abzug = json['subtraction'];
Hkvv = json['hkvv'];
Funk = json['radio'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'typKurz': TypKurz,
'typLang': TypLang,
'ablesbar': Ablesbar,
'klasse': Klasse,
'abzug': Abzug,
'hkvv': Hkvv,
'funk': Funk
};
getTypeName() => "DeviceCatalog";
TypeContext? context = _ctx;
}
// @DataContract
class CreateStammdaten implements IConvertible
{
// @DataMember(Name="BrennstoffMedien")
List<BrennstoffMedium>? BrennstoffMedien;
// @DataMember(Name="GeraeteKatalog")
List<DeviceCatalog>? GeraeteKatalog;
CreateStammdaten({this.BrennstoffMedien,this.GeraeteKatalog});
CreateStammdaten.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
BrennstoffMedien = JsonConverters.fromJson(json['brennstoffMedien'],'List<BrennstoffMedium>',context!);
GeraeteKatalog = JsonConverters.fromJson(json['deviceCatalog'],'List<DeviceCatalog>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'brennstoffMedien': JsonConverters.toJson(BrennstoffMedien,'List<BrennstoffMedium>',context!),
'geraeteKatalog': JsonConverters.toJson(GeraeteKatalog,'List<DeviceCatalog>',context!)
};
getTypeName() => "CreateStammdaten";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'andreiuologmbh_servdesk.eras_online.de', types: <String, TypeInfo> {
'CreateStammdatenResponse': TypeInfo(TypeOf.Class, create:() => CreateStammdatenResponse()),
'BrennstoffMedium': TypeInfo(TypeOf.Class, create:() => BrennstoffMedium()),
'DeviceCatalog': TypeInfo(TypeOf.Class, create:() => DeviceCatalog()),
'CreateStammdaten': TypeInfo(TypeOf.Class, create:() => CreateStammdaten()),
'List<BrennstoffMedium>': TypeInfo(TypeOf.Class, create:() => <BrennstoffMedium>[]),
'List<DeviceCatalog>': TypeInfo(TypeOf.Class, create:() => <DeviceCatalog>[]),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Stammdaten/Create HTTP/1.1
Host: andreiuologmbh-servdesk.eras-online.de
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
BrennstoffMedien:
[
{
Guid: String,
Bezeichnung: String,
Lagernd: False,
EinheitTyp: String,
Heizwert: 0
}
],
GeraeteKatalog:
[
{
Guid: String,
TypKurz: String,
TypLang: String,
Ablesbar: False,
Klasse: String,
Abzug: False,
Hkvv: False,
Funk: False
}
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}