Test

<back to all web services

DummyTypes

namespace Test.ServiceModel

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type HelloResponse() = 
        member val Result:String = null with get,set

    [<AllowNullLiteral>]
    type ListResult() = 
        member val Result:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type CancelRequest() = 
        interface IPost
        [<DataMember(Order=1)>]
        member val Tag:String = null with get,set

        [<DataMember(Order=2)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type CancelRequestResponse() = 
        [<DataMember(Order=1)>]
        member val Tag:String = null with get,set

        [<DataMember(Order=2)>]
        member val Elapsed:TimeSpan = new TimeSpan() with get,set

        [<DataMember(Order=3)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=4)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type UpdateEventSubscriber() = 
        interface IPost
        [<DataMember(Order=1)>]
        member val Id:String = null with get,set

        [<DataMember(Order=2)>]
        member val SubscribeChannels:String[] = [||] with get,set

        [<DataMember(Order=3)>]
        member val UnsubscribeChannels:String[] = [||] with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type UpdateEventSubscriberResponse() = 
        [<DataMember(Order=1)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetApiKeys() = 
        interface IGet
        [<DataMember(Order=1)>]
        member val Environment:String = null with get,set

        [<DataMember(Order=2)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type UserApiKey() = 
        [<DataMember(Order=1)>]
        member val Key:String = null with get,set

        [<DataMember(Order=2)>]
        member val KeyType:String = null with get,set

        [<DataMember(Order=3)>]
        member val ExpiryDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=4)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetApiKeysResponse() = 
        [<DataMember(Order=1)>]
        member val Results:ResizeArray<UserApiKey> = new ResizeArray<UserApiKey>() with get,set

        [<DataMember(Order=2)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=3)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type RegenerateApiKeys() = 
        interface IPost
        [<DataMember(Order=1)>]
        member val Environment:String = null with get,set

        [<DataMember(Order=2)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type RegenerateApiKeysResponse() = 
        [<DataMember(Order=1)>]
        member val Results:ResizeArray<UserApiKey> = new ResizeArray<UserApiKey>() with get,set

        [<DataMember(Order=2)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=3)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type ConvertSessionToToken() = 
        interface IPost
        [<DataMember(Order=1)>]
        member val PreserveSession:Boolean = new Boolean() with get,set

        [<DataMember(Order=2)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type ConvertSessionToTokenResponse() = 
        [<DataMember(Order=1)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=2)>]
        member val AccessToken:String = null with get,set

        [<DataMember(Order=3)>]
        member val RefreshToken:String = null with get,set

        [<DataMember(Order=4)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetAccessToken() = 
        interface IPost
        [<DataMember(Order=1)>]
        member val RefreshToken:String = null with get,set

        [<DataMember(Order=2)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetAccessTokenResponse() = 
        [<DataMember(Order=1)>]
        member val AccessToken:String = null with get,set

        [<DataMember(Order=2)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=3)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type NavItem() = 
        member val Label:String = null with get,set
        member val Href:String = null with get,set
        member val Exact:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val Id:String = null with get,set
        member val ClassName:String = null with get,set
        member val IconClass:String = null with get,set
        member val IconSrc:String = null with get,set
        member val Show:String = null with get,set
        member val Hide:String = null with get,set
        member val Children:ResizeArray<NavItem> = new ResizeArray<NavItem>() with get,set
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetNavItems() = 
        [<DataMember(Order=1)>]
        member val Name:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetNavItemsResponse() = 
        [<DataMember(Order=1)>]
        member val BaseUrl:String = null with get,set

        [<DataMember(Order=2)>]
        member val Results:ResizeArray<NavItem> = new ResizeArray<NavItem>() with get,set

        [<DataMember(Order=3)>]
        member val NavItemsMap:Dictionary<String, List<NavItem>> = new Dictionary<String, List<NavItem>>() with get,set

        [<DataMember(Order=4)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=5)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type EmptyResponse() = 
        [<DataMember(Order=1)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type IdResponse() = 
        [<DataMember(Order=1)>]
        member val Id:String = null with get,set

        [<DataMember(Order=2)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type StringResponse() = 
        [<DataMember(Order=1)>]
        member val Result:String = null with get,set

        [<DataMember(Order=2)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=3)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type StringsResponse() = 
        [<DataMember(Order=1)>]
        member val Results:ResizeArray<String> = new ResizeArray<String>() with get,set

        [<DataMember(Order=2)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=3)>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AuditBase() = 
        [<DataMember(Order=1)>]
        member val CreatedDate:DateTime = new DateTime() with get,set

        [<DataMember(Order=2)>]
        [<Required>]
        member val CreatedBy:String = null with get,set

        [<DataMember(Order=3)>]
        member val ModifiedDate:DateTime = new DateTime() with get,set

        [<DataMember(Order=4)>]
        [<Required>]
        member val ModifiedBy:String = null with get,set

        [<DataMember(Order=5)>]
        member val DeletedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=6)>]
        member val DeletedBy:String = null with get,set

    [<AllowNullLiteral>]
    type DummyTypes() = 
        member val HelloResponses:ResizeArray<HelloResponse> = new ResizeArray<HelloResponse>() with get,set
        member val ListResult:ResizeArray<ListResult> = new ResizeArray<ListResult>() with get,set
        member val ArrayResult:ArrayResult[] = [||] with get,set
        member val CancelRequest:CancelRequest = null with get,set
        member val CancelRequestResponse:CancelRequestResponse = null with get,set
        member val UpdateEventSubscriber:UpdateEventSubscriber = null with get,set
        member val UpdateEventSubscriberResponse:UpdateEventSubscriberResponse = null with get,set
        member val GetApiKeys:GetApiKeys = null with get,set
        member val GetApiKeysResponse:GetApiKeysResponse = null with get,set
        member val RegenerateApiKeys:RegenerateApiKeys = null with get,set
        member val RegenerateApiKeysResponse:RegenerateApiKeysResponse = null with get,set
        member val UserApiKey:UserApiKey = null with get,set
        member val ConvertSessionToToken:ConvertSessionToToken = null with get,set
        member val ConvertSessionToTokenResponse:ConvertSessionToTokenResponse = null with get,set
        member val GetAccessToken:GetAccessToken = null with get,set
        member val GetAccessTokenResponse:GetAccessTokenResponse = null with get,set
        member val NavItem:NavItem = null with get,set
        member val GetNavItems:GetNavItems = null with get,set
        member val GetNavItemsResponse:GetNavItemsResponse = null with get,set
        member val EmptyResponse:EmptyResponse = null with get,set
        member val IdResponse:IdResponse = null with get,set
        member val StringResponse:StringResponse = null with get,set
        member val StringsResponse:StringsResponse = null with get,set
        member val AuditBase:AuditBase = null with get,set

    [<AllowNullLiteral>]
    type ArrayResult() = 
        member val Result:String = null with get,set

F# 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
			}
		}
	}
}