Test

<back to all web services

HelloSubAllTypes


export class SubType
{
    public id: number;
    public name: string;

    public constructor(init?: Partial<SubType>) { (Object as any).assign(this, init); }
}

export class AllTypesBase
{
    public id: number;
    public nullableId?: number;
    public byte: number;
    public short: number;
    public int: number;
    public long: number;
    public uShort: number;
    public uInt: number;
    public uLong: number;
    public float: number;
    public double: number;
    public decimal: number;
    public string: string;
    public dateTime: string;
    public timeSpan: string;
    public dateTimeOffset: string;
    public guid: string;
    public char: string;
    public keyValuePair: KeyValuePair<string, string>;
    public nullableDateTime?: string;
    public nullableTimeSpan?: string;
    public stringList: string[];
    public stringArray: string[];
    public stringMap: { [index: string]: string; };
    public intStringMap: { [index: number]: string; };
    public subType: SubType;

    public constructor(init?: Partial<AllTypesBase>) { (Object as any).assign(this, init); }
}

export class SubAllTypes extends AllTypesBase
{
    public hierarchy: number;

    public constructor(init?: Partial<SubAllTypes>) { super(init); (Object as any).assign(this, init); }
}

export class HelloSubAllTypes extends AllTypesBase
{
    public hierarchy: number;

    public constructor(init?: Partial<HelloSubAllTypes>) { super(init); (Object as any).assign(this, init); }
}

TypeScript HelloSubAllTypes 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/reply/HelloSubAllTypes HTTP/1.1 
Host: test.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	hierarchy: 0,
	id: 0,
	nullableId: 0,
	byte: 0,
	short: 0,
	int: 0,
	long: 0,
	uShort: 0,
	uInt: 0,
	uLong: 0,
	float: 0,
	double: 0,
	decimal: 0,
	string: String,
	dateTime: 0001-01-01,
	timeSpan: PT0S,
	dateTimeOffset: 0001-01-01T00:00:00.0000000+00:00,
	guid: 00000000000000000000000000000000,
	char: ,
	keyValuePair: 
	{
		key: String,
		value: String
	},
	nullableDateTime: 0001-01-01,
	nullableTimeSpan: PT0S,
	stringList: 
	[
		String
	],
	stringArray: 
	[
		String
	],
	stringMap: 
	{
		String: String
	},
	intStringMap: 
	{
		0: String
	},
	subType: 
	{
		id: 0,
		name: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	hierarchy: 0,
	id: 0,
	nullableId: 0,
	byte: 0,
	short: 0,
	int: 0,
	long: 0,
	uShort: 0,
	uInt: 0,
	uLong: 0,
	float: 0,
	double: 0,
	decimal: 0,
	string: String,
	dateTime: 0001-01-01,
	timeSpan: PT0S,
	dateTimeOffset: 0001-01-01T00:00:00.0000000+00:00,
	guid: 00000000000000000000000000000000,
	char: ,
	keyValuePair: 
	{
		key: String,
		value: String
	},
	nullableDateTime: 0001-01-01,
	nullableTimeSpan: PT0S,
	stringList: 
	[
		String
	],
	stringArray: 
	[
		String
	],
	stringMap: 
	{
		String: String
	},
	intStringMap: 
	{
		0: String
	},
	subType: 
	{
		id: 0,
		name: String
	}
}