export class HelloBase<T>
{
public items: T[] = [];
public counts: number[] = [];
public constructor(init?: Partial<HelloBase<T>>) { (Object as any).assign(this, init); }
}
export class Hello
{
// @Required()
public name: string;
public title: string;
public constructor(init?: Partial<Hello>) { (Object as any).assign(this, init); }
}
export class HelloWithGenericInheritance2 extends HelloBase<Hello>
{
public result: string;
public constructor(init?: Partial<HelloWithGenericInheritance2>) { super(init); (Object as any).assign(this, init); }
}
TypeScript HelloWithGenericInheritance2 DTOs
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/HelloWithGenericInheritance2 HTTP/1.1
Host: test.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
result: String,
items:
[
{
name: String,
title: String
}
],
counts:
[
0
]
}