import java.math.*
import java.util.*
import net.servicestack.client.*
open class DummyTypes
{
var helloResponses:ArrayList<HelloResponse> = ArrayList<HelloResponse>()
var listResult:ArrayList<ListResult> = ArrayList<ListResult>()
var arrayResult:ArrayList<ArrayResult>? = null
var cancelRequest:CancelRequest? = null
var cancelRequestResponse:CancelRequestResponse? = null
var updateEventSubscriber:UpdateEventSubscriber? = null
var updateEventSubscriberResponse:UpdateEventSubscriberResponse? = null
var getApiKeys:GetApiKeys? = null
var getApiKeysResponse:GetApiKeysResponse? = null
var regenerateApiKeys:RegenerateApiKeys? = null
var regenerateApiKeysResponse:RegenerateApiKeysResponse? = null
var userApiKey:UserApiKey? = null
var convertSessionToToken:ConvertSessionToToken? = null
var convertSessionToTokenResponse:ConvertSessionToTokenResponse? = null
var getAccessToken:GetAccessToken? = null
var getAccessTokenResponse:GetAccessTokenResponse? = null
var navItem:NavItem? = null
var getNavItems:GetNavItems? = null
var getNavItemsResponse:GetNavItemsResponse? = null
var emptyResponse:EmptyResponse? = null
var idResponse:IdResponse? = null
var stringResponse:StringResponse? = null
var stringsResponse:StringsResponse? = null
var auditBase:AuditBase? = null
}
open class HelloResponse
{
var result:String? = null
}
open class ListResult
{
var result:String? = null
}
open class ArrayResult
{
var result:String? = null
}
@DataContract
open class CancelRequest : IPost, IMeta
{
@DataMember(Order=1)
var tag:String? = null
@DataMember(Order=2)
var meta:HashMap<String,String> = HashMap<String,String>()
}
@DataContract
open class CancelRequestResponse : IMeta
{
@DataMember(Order=1)
var tag:String? = null
@DataMember(Order=2)
var elapsed:TimeSpan? = null
@DataMember(Order=3)
var meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=4)
var responseStatus:ResponseStatus? = null
}
@DataContract
open class UpdateEventSubscriber : IPost
{
@DataMember(Order=1)
var id:String? = null
@DataMember(Order=2)
var subscribeChannels:ArrayList<String>? = null
@DataMember(Order=3)
var unsubscribeChannels:ArrayList<String>? = null
}
@DataContract
open class UpdateEventSubscriberResponse
{
@DataMember(Order=1)
var responseStatus:ResponseStatus? = null
}
@DataContract
open class GetApiKeys : IGet, IMeta
{
@DataMember(Order=1)
var environment:String? = null
@DataMember(Order=2)
var meta:HashMap<String,String> = HashMap<String,String>()
}
@DataContract
open class GetApiKeysResponse : IMeta
{
@DataMember(Order=1)
var results:ArrayList<UserApiKey> = ArrayList<UserApiKey>()
@DataMember(Order=2)
var meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=3)
var responseStatus:ResponseStatus? = null
}
@DataContract
open class UserApiKey : IMeta
{
@DataMember(Order=1)
var key:String? = null
@DataMember(Order=2)
var keyType:String? = null
@DataMember(Order=3)
var expiryDate:Date? = null
@DataMember(Order=4)
var meta:HashMap<String,String> = HashMap<String,String>()
}
@DataContract
open class RegenerateApiKeys : IPost, IMeta
{
@DataMember(Order=1)
var environment:String? = null
@DataMember(Order=2)
var meta:HashMap<String,String> = HashMap<String,String>()
}
@DataContract
open class RegenerateApiKeysResponse : IMeta
{
@DataMember(Order=1)
var results:ArrayList<UserApiKey> = ArrayList<UserApiKey>()
@DataMember(Order=2)
var meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=3)
var responseStatus:ResponseStatus? = null
}
@DataContract
open class ConvertSessionToToken : IPost, IMeta
{
@DataMember(Order=1)
var preserveSession:Boolean? = null
@DataMember(Order=2)
var meta:HashMap<String,String> = HashMap<String,String>()
}
@DataContract
open class ConvertSessionToTokenResponse : IMeta
{
@DataMember(Order=1)
var meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=2)
var accessToken:String? = null
@DataMember(Order=3)
var refreshToken:String? = null
@DataMember(Order=4)
var responseStatus:ResponseStatus? = null
}
@DataContract
open class GetAccessToken : IPost, IMeta
{
@DataMember(Order=1)
var refreshToken:String? = null
@DataMember(Order=2)
var meta:HashMap<String,String> = HashMap<String,String>()
}
@DataContract
open class GetAccessTokenResponse : IMeta
{
@DataMember(Order=1)
var accessToken:String? = null
@DataMember(Order=2)
var meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=3)
var responseStatus:ResponseStatus? = null
}
open class NavItem : IMeta
{
var label:String? = null
var href:String? = null
var exact:Boolean? = null
var id:String? = null
var className:String? = null
var iconClass:String? = null
var iconSrc:String? = null
var show:String? = null
var hide:String? = null
var children:ArrayList<NavItem> = ArrayList<NavItem>()
var meta:HashMap<String,String> = HashMap<String,String>()
}
@DataContract
open class GetNavItems
{
@DataMember(Order=1)
var name:String? = null
}
@DataContract
open class GetNavItemsResponse : IMeta
{
@DataMember(Order=1)
var baseUrl:String? = null
@DataMember(Order=2)
var results:ArrayList<NavItem> = ArrayList<NavItem>()
@DataMember(Order=3)
var navItemsMap:HashMap<String,ArrayList<NavItem>> = HashMap<String,ArrayList<NavItem>>()
@DataMember(Order=4)
var meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=5)
var responseStatus:ResponseStatus? = null
}
@DataContract
open class EmptyResponse
{
@DataMember(Order=1)
var responseStatus:ResponseStatus? = null
}
@DataContract
open class IdResponse
{
@DataMember(Order=1)
var id:String? = null
@DataMember(Order=2)
var responseStatus:ResponseStatus? = null
}
@DataContract
open class StringResponse : IMeta
{
@DataMember(Order=1)
var result:String? = null
@DataMember(Order=2)
var meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=3)
var responseStatus:ResponseStatus? = null
}
@DataContract
open class StringsResponse : IMeta
{
@DataMember(Order=1)
var results:ArrayList<String> = ArrayList<String>()
@DataMember(Order=2)
var meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=3)
var responseStatus:ResponseStatus? = null
}
@DataContract
open class AuditBase
{
@DataMember(Order=1)
var createdDate:Date? = null
@DataMember(Order=2)
@Required()
var createdBy:String? = null
@DataMember(Order=3)
var modifiedDate:Date? = null
@DataMember(Order=4)
@Required()
var modifiedBy:String? = null
@DataMember(Order=5)
var deletedDate:Date? = null
@DataMember(Order=6)
var deletedBy:String? = null
}
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 /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
}
}
}
}