Test

<back to all web services

HelloWithGenericInheritance2

"use strict";
/** @typedef T {any} */
export class HelloBase {
    /** @param {{items?:T[],counts?:number[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {T[]} */
    items;
    /** @type {number[]} */
    counts;
}
export class Hello {
    /** @param {{name?:string,title?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
    /** @type {string} */
    title;
}
export class HelloWithGenericInheritance2 extends HelloBase {
    /** @param {{result?:string,items?:T[],counts?:number[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    result;
}

JavaScript HelloWithGenericInheritance2 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/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
	]
}