| GET | /WebApp/Nutzer |
|---|
<?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};
// @DataContract
class AppointmentStoreUser implements JsonSerializable
{
public function __construct(
// @DataMember(Name="MonteurGuid")
/** @var string */
public string $MonteurGuid=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['MonteurGuid'])) $this->MonteurGuid = $o['MonteurGuid'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->MonteurGuid)) $o['MonteurGuid'] = $this->MonteurGuid;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class AppointmentNutzeinheit implements JsonSerializable
{
public function __construct(
// @DataMember(Name="NutzeinheitGuid")
/** @var string */
public string $NutzeinheitGuid=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['NutzeinheitGuid'])) $this->NutzeinheitGuid = $o['NutzeinheitGuid'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->NutzeinheitGuid)) $o['NutzeinheitGuid'] = $this->NutzeinheitGuid;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class Appointment implements JsonSerializable
{
public function __construct(
// @DataMember(Name="Guid")
/** @var string */
public string $Guid='',
// @DataMember(Name="Von")
/** @var DateTime */
public DateTime $Von=new DateTime(),
// @DataMember(Name="Bis")
/** @var DateTime */
public DateTime $Bis=new DateTime(),
// @DataMember(Name="Monteure")
/** @var array<AppointmentStoreUser>|null */
public ?array $Monteure=null,
// @DataMember(Name="Nutzeinheiten")
/** @var array<AppointmentNutzeinheit>|null */
public ?array $Nutzeinheiten=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Guid'])) $this->Guid = $o['Guid'];
if (isset($o['Von'])) $this->Von = JsonConverters::from('DateTime', $o['Von']);
if (isset($o['Bis'])) $this->Bis = JsonConverters::from('DateTime', $o['Bis']);
if (isset($o['Monteure'])) $this->Monteure = JsonConverters::fromArray('AppointmentStoreUser', $o['Monteure']);
if (isset($o['Nutzeinheiten'])) $this->Nutzeinheiten = JsonConverters::fromArray('AppointmentNutzeinheit', $o['Nutzeinheiten']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Guid)) $o['Guid'] = $this->Guid;
if (isset($this->Von)) $o['Von'] = JsonConverters::to('DateTime', $this->Von);
if (isset($this->Bis)) $o['Bis'] = JsonConverters::to('DateTime', $this->Bis);
if (isset($this->Monteure)) $o['Monteure'] = JsonConverters::toArray('AppointmentStoreUser', $this->Monteure);
if (isset($this->Nutzeinheiten)) $o['Nutzeinheiten'] = JsonConverters::toArray('AppointmentNutzeinheit', $this->Nutzeinheiten);
return empty($o) ? new class(){} : $o;
}
}
class Address implements JsonSerializable
{
public function __construct(
// @DataMember(Name="Guid")
/** @var string */
public string $Guid='',
// @DataMember(Name="Street")
/** @var string|null */
public ?string $Street=null,
// @DataMember(Name="Hausnummer")
/** @var string|null */
public ?string $Hausnummer=null,
// @DataMember(Name="Postleitzahl")
/** @var string|null */
public ?string $Postleitzahl=null,
// @DataMember(Name="Ort")
/** @var string|null */
public ?string $Ort=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Guid'])) $this->Guid = $o['Guid'];
if (isset($o['Street'])) $this->Street = $o['Street'];
if (isset($o['Hausnummer'])) $this->Hausnummer = $o['Hausnummer'];
if (isset($o['Postleitzahl'])) $this->Postleitzahl = $o['Postleitzahl'];
if (isset($o['Ort'])) $this->Ort = $o['Ort'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Guid)) $o['Guid'] = $this->Guid;
if (isset($this->Street)) $o['Street'] = $this->Street;
if (isset($this->Hausnummer)) $o['Hausnummer'] = $this->Hausnummer;
if (isset($this->Postleitzahl)) $o['Postleitzahl'] = $this->Postleitzahl;
if (isset($this->Ort)) $o['Ort'] = $this->Ort;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class NutzerFilter implements JsonSerializable
{
public function __construct(
// @DataMember(Name="Name1")
/** @var string|null */
public ?string $Name1=null,
// @DataMember(Name="Name2")
/** @var string|null */
public ?string $Name2=null,
// @DataMember(Name="Appointments")
/** @var array<Appointment>|null */
public ?array $Appointments=null,
// @DataMember(Name="Address")
/** @var Address|null */
public ?Address $Address=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Name1'])) $this->Name1 = $o['Name1'];
if (isset($o['Name2'])) $this->Name2 = $o['Name2'];
if (isset($o['Appointments'])) $this->Appointments = JsonConverters::fromArray('Appointment', $o['Appointments']);
if (isset($o['Address'])) $this->Address = JsonConverters::from('Address', $o['Address']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Name1)) $o['Name1'] = $this->Name1;
if (isset($this->Name2)) $o['Name2'] = $this->Name2;
if (isset($this->Appointments)) $o['Appointments'] = JsonConverters::toArray('Appointment', $this->Appointments);
if (isset($this->Address)) $o['Address'] = JsonConverters::to('Address', $this->Address);
return empty($o) ? new class(){} : $o;
}
}
class GetNutzerResponse implements JsonSerializable
{
public function __construct(
/** @var array<NutzerFilter>|null */
public ?array $nutzerFilter=null,
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['nutzerFilter'])) $this->nutzerFilter = JsonConverters::fromArray('NutzerFilter', $o['nutzerFilter']);
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->nutzerFilter)) $o['nutzerFilter'] = JsonConverters::toArray('NutzerFilter', $this->nutzerFilter);
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class GetNutzer implements JsonSerializable
{
public function __construct(
// @DataMember(Name="filter[Name]")
// @ApiMember(ParameterType="query")
/** @var string|null */
public ?string $filter_Name_=null,
// @DataMember(Name="filter[Street]")
// @ApiMember(ParameterType="query")
/** @var string|null */
public ?string $filter_Street_=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['filter_Name_'])) $this->filter_Name_ = $o['filter_Name_'];
if (isset($o['filter_Street_'])) $this->filter_Street_ = $o['filter_Street_'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->filter_Name_)) $o['filter_Name_'] = $this->filter_Name_;
if (isset($this->filter_Street_)) $o['filter_Street_'] = $this->filter_Street_;
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.
GET /WebApp/Nutzer HTTP/1.1 Host: messdienstservice-stadtwerke-peine-servamw.eras-online.de Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
nutzerFilter:
[
{
Name1: String,
Name2: String,
Appointments:
[
{
Guid: 00000000000000000000000000000000,
Von: 0001-01-01T00:00:00Z,
Bis: 0001-01-01T00:00:00Z
}
],
Address:
{
Guid: 00000000000000000000000000000000,
Street: String,
Hausnummer: String,
Postleitzahl: String,
Ort: String
}
}
],
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}