Test

<back to all web services

DummyTypes

import 'package:servicestack/servicestack.dart';

class HelloResponse implements IConvertible
{
    String? result;

    HelloResponse({this.result});
    HelloResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        result = json['result'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'result': result
    };

    getTypeName() => "HelloResponse";
    TypeContext? context = _ctx;
}

class ListResult implements IConvertible
{
    String? result;

    ListResult({this.result});
    ListResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        result = json['result'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'result': result
    };

    getTypeName() => "ListResult";
    TypeContext? context = _ctx;
}

// @DataContract
class CancelRequest implements IPost, IMeta, IConvertible
{
    // @DataMember(Order=1)
    String? tag;

    // @DataMember(Order=2)
    Map<String,String?>? meta;

    CancelRequest({this.tag,this.meta});
    CancelRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tag = json['tag'];
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tag': tag,
        'meta': meta
    };

    getTypeName() => "CancelRequest";
    TypeContext? context = _ctx;
}

// @DataContract
class CancelRequestResponse implements IMeta, IConvertible
{
    // @DataMember(Order=1)
    String? tag;

    // @DataMember(Order=2)
    Duration? elapsed;

    // @DataMember(Order=3)
    Map<String,String?>? meta;

    // @DataMember(Order=4)
    ResponseStatus? responseStatus;

    CancelRequestResponse({this.tag,this.elapsed,this.meta,this.responseStatus});
    CancelRequestResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tag = json['tag'];
        elapsed = JsonConverters.fromJson(json['elapsed'],'Duration',context!);
        meta = JsonConverters.toStringMap(json['meta']);
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tag': tag,
        'elapsed': JsonConverters.toJson(elapsed,'Duration',context!),
        'meta': meta,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "CancelRequestResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class UpdateEventSubscriber implements IPost, IConvertible
{
    // @DataMember(Order=1)
    String? id;

    // @DataMember(Order=2)
    List<String>? subscribeChannels;

    // @DataMember(Order=3)
    List<String>? unsubscribeChannels;

    UpdateEventSubscriber({this.id,this.subscribeChannels,this.unsubscribeChannels});
    UpdateEventSubscriber.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        subscribeChannels = JsonConverters.fromJson(json['subscribeChannels'],'List<String>',context!);
        unsubscribeChannels = JsonConverters.fromJson(json['unsubscribeChannels'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'subscribeChannels': JsonConverters.toJson(subscribeChannels,'List<String>',context!),
        'unsubscribeChannels': JsonConverters.toJson(unsubscribeChannels,'List<String>',context!)
    };

    getTypeName() => "UpdateEventSubscriber";
    TypeContext? context = _ctx;
}

// @DataContract
class UpdateEventSubscriberResponse implements IConvertible
{
    // @DataMember(Order=1)
    ResponseStatus? responseStatus;

    UpdateEventSubscriberResponse({this.responseStatus});
    UpdateEventSubscriberResponse.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() => "UpdateEventSubscriberResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class GetApiKeys implements IGet, IMeta, IConvertible
{
    // @DataMember(Order=1)
    String? environment;

    // @DataMember(Order=2)
    Map<String,String?>? meta;

    GetApiKeys({this.environment,this.meta});
    GetApiKeys.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        environment = json['environment'];
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'environment': environment,
        'meta': meta
    };

    getTypeName() => "GetApiKeys";
    TypeContext? context = _ctx;
}

// @DataContract
class UserApiKey implements IMeta, IConvertible
{
    // @DataMember(Order=1)
    String? key;

    // @DataMember(Order=2)
    String? keyType;

    // @DataMember(Order=3)
    DateTime? expiryDate;

    // @DataMember(Order=4)
    Map<String,String?>? meta;

    UserApiKey({this.key,this.keyType,this.expiryDate,this.meta});
    UserApiKey.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        key = json['key'];
        keyType = json['keyType'];
        expiryDate = JsonConverters.fromJson(json['expiryDate'],'DateTime',context!);
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'key': key,
        'keyType': keyType,
        'expiryDate': JsonConverters.toJson(expiryDate,'DateTime',context!),
        'meta': meta
    };

    getTypeName() => "UserApiKey";
    TypeContext? context = _ctx;
}

// @DataContract
class GetApiKeysResponse implements IMeta, IConvertible
{
    // @DataMember(Order=1)
    List<UserApiKey>? results;

    // @DataMember(Order=2)
    Map<String,String?>? meta;

    // @DataMember(Order=3)
    ResponseStatus? responseStatus;

    GetApiKeysResponse({this.results,this.meta,this.responseStatus});
    GetApiKeysResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        results = JsonConverters.fromJson(json['results'],'List<UserApiKey>',context!);
        meta = JsonConverters.toStringMap(json['meta']);
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'results': JsonConverters.toJson(results,'List<UserApiKey>',context!),
        'meta': meta,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetApiKeysResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class RegenerateApiKeys implements IPost, IMeta, IConvertible
{
    // @DataMember(Order=1)
    String? environment;

    // @DataMember(Order=2)
    Map<String,String?>? meta;

    RegenerateApiKeys({this.environment,this.meta});
    RegenerateApiKeys.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        environment = json['environment'];
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'environment': environment,
        'meta': meta
    };

    getTypeName() => "RegenerateApiKeys";
    TypeContext? context = _ctx;
}

// @DataContract
class RegenerateApiKeysResponse implements IMeta, IConvertible
{
    // @DataMember(Order=1)
    List<UserApiKey>? results;

    // @DataMember(Order=2)
    Map<String,String?>? meta;

    // @DataMember(Order=3)
    ResponseStatus? responseStatus;

    RegenerateApiKeysResponse({this.results,this.meta,this.responseStatus});
    RegenerateApiKeysResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        results = JsonConverters.fromJson(json['results'],'List<UserApiKey>',context!);
        meta = JsonConverters.toStringMap(json['meta']);
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'results': JsonConverters.toJson(results,'List<UserApiKey>',context!),
        'meta': meta,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "RegenerateApiKeysResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class ConvertSessionToToken implements IPost, IMeta, IConvertible
{
    // @DataMember(Order=1)
    bool? preserveSession;

    // @DataMember(Order=2)
    Map<String,String?>? meta;

    ConvertSessionToToken({this.preserveSession,this.meta});
    ConvertSessionToToken.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        preserveSession = json['preserveSession'];
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'preserveSession': preserveSession,
        'meta': meta
    };

    getTypeName() => "ConvertSessionToToken";
    TypeContext? context = _ctx;
}

// @DataContract
class ConvertSessionToTokenResponse implements IMeta, IConvertible
{
    // @DataMember(Order=1)
    Map<String,String?>? meta;

    // @DataMember(Order=2)
    String? accessToken;

    // @DataMember(Order=3)
    String? refreshToken;

    // @DataMember(Order=4)
    ResponseStatus? responseStatus;

    ConvertSessionToTokenResponse({this.meta,this.accessToken,this.refreshToken,this.responseStatus});
    ConvertSessionToTokenResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        meta = JsonConverters.toStringMap(json['meta']);
        accessToken = json['accessToken'];
        refreshToken = json['refreshToken'];
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'meta': meta,
        'accessToken': accessToken,
        'refreshToken': refreshToken,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "ConvertSessionToTokenResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class GetAccessToken implements IPost, IMeta, IConvertible
{
    // @DataMember(Order=1)
    String? refreshToken;

    // @DataMember(Order=2)
    Map<String,String?>? meta;

    GetAccessToken({this.refreshToken,this.meta});
    GetAccessToken.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        refreshToken = json['refreshToken'];
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'refreshToken': refreshToken,
        'meta': meta
    };

    getTypeName() => "GetAccessToken";
    TypeContext? context = _ctx;
}

// @DataContract
class GetAccessTokenResponse implements IMeta, IConvertible
{
    // @DataMember(Order=1)
    String? accessToken;

    // @DataMember(Order=2)
    Map<String,String?>? meta;

    // @DataMember(Order=3)
    ResponseStatus? responseStatus;

    GetAccessTokenResponse({this.accessToken,this.meta,this.responseStatus});
    GetAccessTokenResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        accessToken = json['accessToken'];
        meta = JsonConverters.toStringMap(json['meta']);
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'accessToken': accessToken,
        'meta': meta,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetAccessTokenResponse";
    TypeContext? context = _ctx;
}

class NavItem implements IMeta, IConvertible
{
    String? label;
    String? href;
    bool? exact;
    String? id;
    String? className;
    String? iconClass;
    String? iconSrc;
    String? Show;
    String? Hide;
    List<NavItem>? children;
    Map<String,String?>? meta;

    NavItem({this.label,this.href,this.exact,this.id,this.className,this.iconClass,this.iconSrc,this.Show,this.Hide,this.children,this.meta});
    NavItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        label = json['label'];
        href = json['href'];
        exact = json['exact'];
        id = json['id'];
        className = json['className'];
        iconClass = json['iconClass'];
        iconSrc = json['iconSrc'];
        Show = json['show'];
        Hide = json['hide'];
        children = JsonConverters.fromJson(json['children'],'List<NavItem>',context!);
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'label': label,
        'href': href,
        'exact': exact,
        'id': id,
        'className': className,
        'iconClass': iconClass,
        'iconSrc': iconSrc,
        'show': Show,
        'hide': Hide,
        'children': JsonConverters.toJson(children,'List<NavItem>',context!),
        'meta': meta
    };

    getTypeName() => "NavItem";
    TypeContext? context = _ctx;
}

// @DataContract
class GetNavItems implements IConvertible
{
    // @DataMember(Order=1)
    String? name;

    GetNavItems({this.name});
    GetNavItems.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name
    };

    getTypeName() => "GetNavItems";
    TypeContext? context = _ctx;
}

// @DataContract
class GetNavItemsResponse implements IMeta, IConvertible
{
    // @DataMember(Order=1)
    String? baseUrl;

    // @DataMember(Order=2)
    List<NavItem>? results;

    // @DataMember(Order=3)
    Map<String,List<NavItem>?>? navItemsMap;

    // @DataMember(Order=4)
    Map<String,String?>? meta;

    // @DataMember(Order=5)
    ResponseStatus? responseStatus;

    GetNavItemsResponse({this.baseUrl,this.results,this.navItemsMap,this.meta,this.responseStatus});
    GetNavItemsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        baseUrl = json['baseUrl'];
        results = JsonConverters.fromJson(json['results'],'List<NavItem>',context!);
        navItemsMap = JsonConverters.fromJson(json['navItemsMap'],'Map<String,List<NavItem>?>',context!);
        meta = JsonConverters.toStringMap(json['meta']);
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'baseUrl': baseUrl,
        'results': JsonConverters.toJson(results,'List<NavItem>',context!),
        'navItemsMap': JsonConverters.toJson(navItemsMap,'Map<String,List<NavItem>?>',context!),
        'meta': meta,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetNavItemsResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class EmptyResponse implements IConvertible
{
    // @DataMember(Order=1)
    ResponseStatus? responseStatus;

    EmptyResponse({this.responseStatus});
    EmptyResponse.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() => "EmptyResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class IdResponse implements IConvertible
{
    // @DataMember(Order=1)
    String? id;

    // @DataMember(Order=2)
    ResponseStatus? responseStatus;

    IdResponse({this.id,this.responseStatus});
    IdResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "IdResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class StringResponse implements IMeta, IConvertible
{
    // @DataMember(Order=1)
    String? result;

    // @DataMember(Order=2)
    Map<String,String?>? meta;

    // @DataMember(Order=3)
    ResponseStatus? responseStatus;

    StringResponse({this.result,this.meta,this.responseStatus});
    StringResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        result = json['result'];
        meta = JsonConverters.toStringMap(json['meta']);
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'result': result,
        'meta': meta,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "StringResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class StringsResponse implements IMeta, IConvertible
{
    // @DataMember(Order=1)
    List<String>? results;

    // @DataMember(Order=2)
    Map<String,String?>? meta;

    // @DataMember(Order=3)
    ResponseStatus? responseStatus;

    StringsResponse({this.results,this.meta,this.responseStatus});
    StringsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        results = JsonConverters.fromJson(json['results'],'List<String>',context!);
        meta = JsonConverters.toStringMap(json['meta']);
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'results': JsonConverters.toJson(results,'List<String>',context!),
        'meta': meta,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "StringsResponse";
    TypeContext? context = _ctx;
}

// @DataContract
abstract class AuditBase
{
    // @DataMember(Order=1)
    DateTime? createdDate;

    // @DataMember(Order=2)
    // @required()
    String? createdBy;

    // @DataMember(Order=3)
    DateTime? modifiedDate;

    // @DataMember(Order=4)
    // @required()
    String? modifiedBy;

    // @DataMember(Order=5)
    DateTime? deletedDate;

    // @DataMember(Order=6)
    String? deletedBy;

    AuditBase({this.createdDate,this.createdBy,this.modifiedDate,this.modifiedBy,this.deletedDate,this.deletedBy});
    AuditBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!);
        createdBy = json['createdBy'];
        modifiedDate = JsonConverters.fromJson(json['modifiedDate'],'DateTime',context!);
        modifiedBy = json['modifiedBy'];
        deletedDate = JsonConverters.fromJson(json['deletedDate'],'DateTime',context!);
        deletedBy = json['deletedBy'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!),
        'createdBy': createdBy,
        'modifiedDate': JsonConverters.toJson(modifiedDate,'DateTime',context!),
        'modifiedBy': modifiedBy,
        'deletedDate': JsonConverters.toJson(deletedDate,'DateTime',context!),
        'deletedBy': deletedBy
    };

    getTypeName() => "AuditBase";
    TypeContext? context = _ctx;
}

class DummyTypes implements IConvertible
{
    List<HelloResponse>? helloResponses;
    List<ListResult>? listResult;
    List<ArrayResult>? arrayResult;
    CancelRequest? cancelRequest;
    CancelRequestResponse? cancelRequestResponse;
    UpdateEventSubscriber? updateEventSubscriber;
    UpdateEventSubscriberResponse? updateEventSubscriberResponse;
    GetApiKeys? getApiKeys;
    GetApiKeysResponse? getApiKeysResponse;
    RegenerateApiKeys? regenerateApiKeys;
    RegenerateApiKeysResponse? regenerateApiKeysResponse;
    UserApiKey? userApiKey;
    ConvertSessionToToken? convertSessionToToken;
    ConvertSessionToTokenResponse? convertSessionToTokenResponse;
    GetAccessToken? getAccessToken;
    GetAccessTokenResponse? getAccessTokenResponse;
    NavItem? navItem;
    GetNavItems? getNavItems;
    GetNavItemsResponse? getNavItemsResponse;
    EmptyResponse? emptyResponse;
    IdResponse? idResponse;
    StringResponse? stringResponse;
    StringsResponse? stringsResponse;
    AuditBase? auditBase;

    DummyTypes({this.helloResponses,this.listResult,this.arrayResult,this.cancelRequest,this.cancelRequestResponse,this.updateEventSubscriber,this.updateEventSubscriberResponse,this.getApiKeys,this.getApiKeysResponse,this.regenerateApiKeys,this.regenerateApiKeysResponse,this.userApiKey,this.convertSessionToToken,this.convertSessionToTokenResponse,this.getAccessToken,this.getAccessTokenResponse,this.navItem,this.getNavItems,this.getNavItemsResponse,this.emptyResponse,this.idResponse,this.stringResponse,this.stringsResponse,this.auditBase});
    DummyTypes.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        helloResponses = JsonConverters.fromJson(json['helloResponses'],'List<HelloResponse>',context!);
        listResult = JsonConverters.fromJson(json['listResult'],'List<ListResult>',context!);
        arrayResult = JsonConverters.fromJson(json['arrayResult'],'List<ArrayResult>',context!);
        cancelRequest = JsonConverters.fromJson(json['cancelRequest'],'CancelRequest',context!);
        cancelRequestResponse = JsonConverters.fromJson(json['cancelRequestResponse'],'CancelRequestResponse',context!);
        updateEventSubscriber = JsonConverters.fromJson(json['updateEventSubscriber'],'UpdateEventSubscriber',context!);
        updateEventSubscriberResponse = JsonConverters.fromJson(json['updateEventSubscriberResponse'],'UpdateEventSubscriberResponse',context!);
        getApiKeys = JsonConverters.fromJson(json['getApiKeys'],'GetApiKeys',context!);
        getApiKeysResponse = JsonConverters.fromJson(json['getApiKeysResponse'],'GetApiKeysResponse',context!);
        regenerateApiKeys = JsonConverters.fromJson(json['regenerateApiKeys'],'RegenerateApiKeys',context!);
        regenerateApiKeysResponse = JsonConverters.fromJson(json['regenerateApiKeysResponse'],'RegenerateApiKeysResponse',context!);
        userApiKey = JsonConverters.fromJson(json['userApiKey'],'UserApiKey',context!);
        convertSessionToToken = JsonConverters.fromJson(json['convertSessionToToken'],'ConvertSessionToToken',context!);
        convertSessionToTokenResponse = JsonConverters.fromJson(json['convertSessionToTokenResponse'],'ConvertSessionToTokenResponse',context!);
        getAccessToken = JsonConverters.fromJson(json['getAccessToken'],'GetAccessToken',context!);
        getAccessTokenResponse = JsonConverters.fromJson(json['getAccessTokenResponse'],'GetAccessTokenResponse',context!);
        navItem = JsonConverters.fromJson(json['navItem'],'NavItem',context!);
        getNavItems = JsonConverters.fromJson(json['getNavItems'],'GetNavItems',context!);
        getNavItemsResponse = JsonConverters.fromJson(json['getNavItemsResponse'],'GetNavItemsResponse',context!);
        emptyResponse = JsonConverters.fromJson(json['emptyResponse'],'EmptyResponse',context!);
        idResponse = JsonConverters.fromJson(json['idResponse'],'IdResponse',context!);
        stringResponse = JsonConverters.fromJson(json['stringResponse'],'StringResponse',context!);
        stringsResponse = JsonConverters.fromJson(json['stringsResponse'],'StringsResponse',context!);
        auditBase = JsonConverters.fromJson(json['auditBase'],'AuditBase',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'helloResponses': JsonConverters.toJson(helloResponses,'List<HelloResponse>',context!),
        'listResult': JsonConverters.toJson(listResult,'List<ListResult>',context!),
        'arrayResult': JsonConverters.toJson(arrayResult,'List<ArrayResult>',context!),
        'cancelRequest': JsonConverters.toJson(cancelRequest,'CancelRequest',context!),
        'cancelRequestResponse': JsonConverters.toJson(cancelRequestResponse,'CancelRequestResponse',context!),
        'updateEventSubscriber': JsonConverters.toJson(updateEventSubscriber,'UpdateEventSubscriber',context!),
        'updateEventSubscriberResponse': JsonConverters.toJson(updateEventSubscriberResponse,'UpdateEventSubscriberResponse',context!),
        'getApiKeys': JsonConverters.toJson(getApiKeys,'GetApiKeys',context!),
        'getApiKeysResponse': JsonConverters.toJson(getApiKeysResponse,'GetApiKeysResponse',context!),
        'regenerateApiKeys': JsonConverters.toJson(regenerateApiKeys,'RegenerateApiKeys',context!),
        'regenerateApiKeysResponse': JsonConverters.toJson(regenerateApiKeysResponse,'RegenerateApiKeysResponse',context!),
        'userApiKey': JsonConverters.toJson(userApiKey,'UserApiKey',context!),
        'convertSessionToToken': JsonConverters.toJson(convertSessionToToken,'ConvertSessionToToken',context!),
        'convertSessionToTokenResponse': JsonConverters.toJson(convertSessionToTokenResponse,'ConvertSessionToTokenResponse',context!),
        'getAccessToken': JsonConverters.toJson(getAccessToken,'GetAccessToken',context!),
        'getAccessTokenResponse': JsonConverters.toJson(getAccessTokenResponse,'GetAccessTokenResponse',context!),
        'navItem': JsonConverters.toJson(navItem,'NavItem',context!),
        'getNavItems': JsonConverters.toJson(getNavItems,'GetNavItems',context!),
        'getNavItemsResponse': JsonConverters.toJson(getNavItemsResponse,'GetNavItemsResponse',context!),
        'emptyResponse': JsonConverters.toJson(emptyResponse,'EmptyResponse',context!),
        'idResponse': JsonConverters.toJson(idResponse,'IdResponse',context!),
        'stringResponse': JsonConverters.toJson(stringResponse,'StringResponse',context!),
        'stringsResponse': JsonConverters.toJson(stringsResponse,'StringsResponse',context!),
        'auditBase': JsonConverters.toJson(auditBase,'AuditBase',context!)
    };

    getTypeName() => "DummyTypes";
    TypeContext? context = _ctx;
}

class ArrayResult implements IConvertible
{
    String? result;

    ArrayResult({this.result});
    ArrayResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        result = json['result'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'result': result
    };

    getTypeName() => "ArrayResult";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'test.servicestack.net', types: <String, TypeInfo> {
    'HelloResponse': TypeInfo(TypeOf.Class, create:() => HelloResponse()),
    'ListResult': TypeInfo(TypeOf.Class, create:() => ListResult()),
    'Map<String,List<NavItem>?>': TypeInfo(TypeOf.Class, create:() => Map<String,List<NavItem>?>()),
    'DummyTypes': TypeInfo(TypeOf.Class, create:() => DummyTypes()),
    'List<HelloResponse>': TypeInfo(TypeOf.Class, create:() => <HelloResponse>[]),
    'List<ListResult>': TypeInfo(TypeOf.Class, create:() => <ListResult>[]),
    'List<ArrayResult>': TypeInfo(TypeOf.Class, create:() => <ArrayResult>[]),
    'ArrayResult': TypeInfo(TypeOf.Class, create:() => ArrayResult()),
});

Dart DummyTypes DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /jsv/oneway/DummyTypes HTTP/1.1 
Host: test.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	helloResponses: 
	[
		{
			result: String
		}
	],
	listResult: 
	[
		{
			result: String
		}
	],
	arrayResult: 
	[
		{
			result: String
		}
	],
	cancelRequest: 
	{
		tag: String,
		meta: 
		{
			String: String
		}
	},
	cancelRequestResponse: 
	{
		tag: String,
		elapsed: PT0S,
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	updateEventSubscriber: 
	{
		id: String,
		subscribeChannels: 
		[
			String
		],
		unsubscribeChannels: 
		[
			String
		]
	},
	updateEventSubscriberResponse: 
	{
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	getApiKeys: 
	{
		environment: String,
		meta: 
		{
			String: String
		}
	},
	getApiKeysResponse: 
	{
		results: 
		[
			{
				key: String,
				keyType: String,
				expiryDate: 0001-01-01,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	regenerateApiKeys: 
	{
		environment: String,
		meta: 
		{
			String: String
		}
	},
	regenerateApiKeysResponse: 
	{
		results: 
		[
			{
				key: String,
				keyType: String,
				expiryDate: 0001-01-01,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	userApiKey: 
	{
		key: String,
		keyType: String,
		expiryDate: 0001-01-01,
		meta: 
		{
			String: String
		}
	},
	convertSessionToToken: 
	{
		preserveSession: False,
		meta: 
		{
			String: String
		}
	},
	convertSessionToTokenResponse: 
	{
		meta: 
		{
			String: String
		},
		accessToken: String,
		refreshToken: String,
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	getAccessToken: 
	{
		refreshToken: String,
		meta: 
		{
			String: String
		}
	},
	getAccessTokenResponse: 
	{
		accessToken: String,
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	navItem: 
	{
		label: String,
		href: String,
		exact: False,
		id: String,
		className: String,
		iconClass: String,
		iconSrc: String,
		show: String,
		hide: String,
		children: 
		[
			{
				label: String,
				href: String,
				exact: False,
				id: String,
				className: String,
				iconClass: String,
				iconSrc: String,
				show: String,
				hide: String,
				children: 
				[
					{
						label: String,
						href: String,
						exact: False,
						id: String,
						className: String,
						iconClass: String,
						iconSrc: String,
						show: String,
						hide: String,
						children: 
						[
							{
								
							}
						],
						meta: 
						{
							String: String
						}
					}
				],
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	getNavItems: 
	{
		name: String
	},
	getNavItemsResponse: 
	{
		baseUrl: String,
		results: 
		[
			{
				label: String,
				href: String,
				exact: False,
				id: String,
				className: String,
				iconClass: String,
				iconSrc: String,
				show: String,
				hide: String,
				children: 
				[
					{
						label: String,
						href: String,
						exact: False,
						id: String,
						className: String,
						iconClass: String,
						iconSrc: String,
						show: String,
						hide: String,
						children: 
						[
							{
								label: String,
								href: String,
								exact: False,
								id: String,
								className: String,
								iconClass: String,
								iconSrc: String,
								show: String,
								hide: String,
								meta: 
								{
									String: String
								}
							}
						],
						meta: 
						{
							String: String
						}
					}
				],
				meta: 
				{
					String: String
				}
			}
		],
		navItemsMap: 
		{
			String: 
			[
				{
					label: String,
					href: String,
					exact: False,
					id: String,
					className: String,
					iconClass: String,
					iconSrc: String,
					show: String,
					hide: String,
					children: 
					[
						{
							label: String,
							href: String,
							exact: False,
							id: String,
							className: String,
							iconClass: String,
							iconSrc: String,
							show: String,
							hide: String,
							children: 
							[
								{
									label: String,
									href: String,
									exact: False,
									id: String,
									className: String,
									iconClass: String,
									iconSrc: String,
									show: String,
									hide: String,
									meta: 
									{
										String: String
									}
								}
							],
							meta: 
							{
								String: String
							}
						}
					],
					meta: 
					{
						String: String
					}
				}
			]
		},
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	emptyResponse: 
	{
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	idResponse: 
	{
		id: String,
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	stringResponse: 
	{
		result: String,
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	stringsResponse: 
	{
		results: 
		[
			String
		],
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	}
}