| POST | /Stammdaten/Create |
|---|
<?php namespace dtos;
use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};
class CreateStammdatenResponse implements JsonSerializable
{
public function __construct(
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class BrennstoffMedium implements JsonSerializable
{
public function __construct(
// @DataMember(Name="Guid")
/** @var string|null */
public ?string $Guid=null,
// @DataMember(Name="Bezeichnung")
/** @var string|null */
public ?string $Bezeichnung=null,
// @DataMember(Name="Lagernd")
/** @var bool|null */
public ?bool $Lagernd=null,
// @DataMember(Name="EinheitTyp")
/** @var string|null */
public ?string $EinheitTyp=null,
// @DataMember(Name="Heizwert")
/** @var float|null */
public ?float $Heizwert=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Guid'])) $this->Guid = $o['Guid'];
if (isset($o['Bezeichnung'])) $this->Bezeichnung = $o['Bezeichnung'];
if (isset($o['Lagernd'])) $this->Lagernd = $o['Lagernd'];
if (isset($o['EinheitTyp'])) $this->EinheitTyp = $o['EinheitTyp'];
if (isset($o['Heizwert'])) $this->Heizwert = $o['Heizwert'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Guid)) $o['Guid'] = $this->Guid;
if (isset($this->Bezeichnung)) $o['Bezeichnung'] = $this->Bezeichnung;
if (isset($this->Lagernd)) $o['Lagernd'] = $this->Lagernd;
if (isset($this->EinheitTyp)) $o['EinheitTyp'] = $this->EinheitTyp;
if (isset($this->Heizwert)) $o['Heizwert'] = $this->Heizwert;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class DeviceCatalog implements JsonSerializable
{
public function __construct(
// @DataMember(Name="Guid")
/** @var string|null */
public ?string $Guid=null,
// @DataMember(Name="TypKurz")
/** @var string|null */
public ?string $TypKurz=null,
// @DataMember(Name="TypLang")
/** @var string|null */
public ?string $TypLang=null,
// @DataMember(Name="Ablesbar")
/** @var bool|null */
public ?bool $Ablesbar=null,
// @DataMember(Name="Klasse")
/** @var string|null */
public ?string $Klasse=null,
// @DataMember(Name="Abzug")
/** @var bool|null */
public ?bool $Abzug=null,
// @DataMember(Name="Hkvv")
/** @var bool|null */
public ?bool $Hkvv=null,
// @DataMember(Name="Funk")
/** @var bool|null */
public ?bool $Funk=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Guid'])) $this->Guid = $o['Guid'];
if (isset($o['TypKurz'])) $this->TypKurz = $o['TypKurz'];
if (isset($o['TypLang'])) $this->TypLang = $o['TypLang'];
if (isset($o['Ablesbar'])) $this->Ablesbar = $o['Ablesbar'];
if (isset($o['Klasse'])) $this->Klasse = $o['Klasse'];
if (isset($o['Abzug'])) $this->Abzug = $o['Abzug'];
if (isset($o['Hkvv'])) $this->Hkvv = $o['Hkvv'];
if (isset($o['Funk'])) $this->Funk = $o['Funk'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Guid)) $o['Guid'] = $this->Guid;
if (isset($this->TypKurz)) $o['TypKurz'] = $this->TypKurz;
if (isset($this->TypLang)) $o['TypLang'] = $this->TypLang;
if (isset($this->Ablesbar)) $o['Ablesbar'] = $this->Ablesbar;
if (isset($this->Klasse)) $o['Klasse'] = $this->Klasse;
if (isset($this->Abzug)) $o['Abzug'] = $this->Abzug;
if (isset($this->Hkvv)) $o['Hkvv'] = $this->Hkvv;
if (isset($this->Funk)) $o['Funk'] = $this->Funk;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class CreateStammdaten implements JsonSerializable
{
public function __construct(
// @DataMember(Name="BrennstoffMedien")
/** @var array<BrennstoffMedium>|null */
public ?array $BrennstoffMedien=null,
// @DataMember(Name="GeraeteKatalog")
/** @var array<DeviceCatalog>|null */
public ?array $GeraeteKatalog=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['BrennstoffMedien'])) $this->BrennstoffMedien = JsonConverters::fromArray('BrennstoffMedium', $o['BrennstoffMedien']);
if (isset($o['GeraeteKatalog'])) $this->GeraeteKatalog = JsonConverters::fromArray('DeviceCatalog', $o['GeraeteKatalog']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->BrennstoffMedien)) $o['BrennstoffMedien'] = JsonConverters::toArray('BrennstoffMedium', $this->BrennstoffMedien);
if (isset($this->GeraeteKatalog)) $o['GeraeteKatalog'] = JsonConverters::toArray('DeviceCatalog', $this->GeraeteKatalog);
return empty($o) ? new class(){} : $o;
}
}
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: stage-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
}
}
}