export class SubType
{
public id: number;
public name: string;
public constructor(init?: Partial<SubType>) { (Object as any).assign(this, init); }
}
export class AllTypes implements IGet
{
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 point: string;
// @DataMember(Name="aliasedName")
public aliasedName: string;
public constructor(init?: Partial<AllTypes>) { (Object as any).assign(this, init); }
}
export class Poco
{
public name: string;
public constructor(init?: Partial<Poco>) { (Object as any).assign(this, init); }
}
export class AllCollectionTypes
{
public intArray: number[] = [];
public intList: number[] = [];
public stringArray: string[] = [];
public stringList: string[] = [];
public pocoArray: Poco[] = [];
public pocoList: Poco[] = [];
public nullableByteArray: number[] = [];
public nullableByteList: number[] = [];
public nullableDateTimeArray: string[] = [];
public nullableDateTimeList: string[] = [];
public pocoLookup: { [index:string]: Poco[]; } = {};
public pocoLookupMap: { [index:string]: { [index:string]: Poco; }[]; } = {};
public constructor(init?: Partial<AllCollectionTypes>) { (Object as any).assign(this, init); }
}
export class HelloAllTypesResponse
{
public result: string;
public allTypes: AllTypes;
public allCollectionTypes: AllCollectionTypes;
public constructor(init?: Partial<HelloAllTypesResponse>) { (Object as any).assign(this, init); }
}
export class HelloAllTypes
{
public name: string;
public allTypes: AllTypes;
public allCollectionTypes: AllCollectionTypes;
public constructor(init?: Partial<HelloAllTypes>) { (Object as any).assign(this, init); }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/HelloAllTypes HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"name":"String","allTypes":{"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-01T00:00:00","timeSpan":"PT0S","dateTimeOffset":"0001-01-01T00:00:00+00:00","guid":"00000000-0000-0000-0000-000000000000","char":"\u0000","keyValuePair":{"key":"String","value":"String"},"nullableDateTime":"0001-01-01T00:00:00","nullableTimeSpan":"PT0S","stringList":["String"],"stringArray":["String"],"stringMap":{"String":"String"},"intStringMap":{"0":"String"},"subType":{"id":0,"name":"String"},"point":"0,0","aliasedName":"String"},"allCollectionTypes":{"intArray":[0],"intList":[0],"stringArray":["String"],"stringList":["String"],"pocoArray":[{"name":"String"}],"pocoList":[{"name":"String"}],"nullableByteArray":[0],"nullableByteList":[0],"nullableDateTimeArray":["0001-01-01T00:00:00"],"nullableDateTimeList":["0001-01-01T00:00:00"],"pocoLookup":{"String":[{"name":"String"}]},"pocoLookupMap":{"String":[{"String":{"name":"String"}}]}}}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"result":"String","allTypes":{"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-01T00:00:00","timeSpan":"PT0S","dateTimeOffset":"0001-01-01T00:00:00+00:00","guid":"00000000-0000-0000-0000-000000000000","char":"\u0000","keyValuePair":{"key":"String","value":"String"},"nullableDateTime":"0001-01-01T00:00:00","nullableTimeSpan":"PT0S","stringList":["String"],"stringArray":["String"],"stringMap":{"String":"String"},"intStringMap":{"0":"String"},"subType":{"id":0,"name":"String"},"point":"0,0","aliasedName":"String"},"allCollectionTypes":{"intArray":[0],"intList":[0],"stringArray":["String"],"stringList":["String"],"pocoArray":[{"name":"String"}],"pocoList":[{"name":"String"}],"nullableByteArray":[0],"nullableByteList":[0],"nullableDateTimeArray":["0001-01-01T00:00:00"],"nullableDateTimeList":["0001-01-01T00:00:00"],"pocoLookup":{"String":[{"name":"String"}]},"pocoLookupMap":{"String":[{"String":{"name":"String"}}]}}}