Test

<back to all web services

EchoTypes

The following routes are available for this service:
All Verbs/echo/types
import 'package:servicestack/servicestack.dart';

class EchoTypes implements IConvertible
{
    int byte = 0;
    int short = 0;
    int Int = 0;
    int long = 0;
    int uShort = 0;
    int uInt = 0;
    int uLong = 0;
    double float = 0;
    double Double = 0;
    double decimal = 0;
    String? string;
    DateTime? dateTime;
    Duration? timeSpan;
    DateTime? dateTimeOffset;
    String guid = "";
    String char = "";

    EchoTypes({this.byte=0,this.short=0,this.Int=0,this.long=0,this.uShort=0,this.uInt=0,this.uLong=0,this.float=0,this.Double=0,this.decimal=0,this.string,this.dateTime,this.timeSpan,this.dateTimeOffset,this.guid="",this.char=""});
    EchoTypes.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        byte = json['byte'] ?? 0;
        short = json['short'] ?? 0;
        Int = json['int'] ?? 0;
        long = json['long'] ?? 0;
        uShort = json['uShort'] ?? 0;
        uInt = json['uInt'] ?? 0;
        uLong = json['uLong'] ?? 0;
        float = JsonConverters.toDouble(json['float']) ?? 0;
        Double = JsonConverters.toDouble(json['double']) ?? 0;
        decimal = JsonConverters.toDouble(json['decimal']) ?? 0;
        string = json['string'];
        dateTime = JsonConverters.fromJson(json['dateTime'],'DateTime',context!) ?? DateTime(0);
        timeSpan = JsonConverters.fromJson(json['timeSpan'],'Duration',context!);
        dateTimeOffset = JsonConverters.fromJson(json['dateTimeOffset'],'DateTime',context!) ?? DateTime(0);
        guid = json['guid'] ?? "";
        char = json['char'] ?? "";
        return this;
    }

    Map<String, dynamic> toJson() => {
        'byte': byte,
        'short': short,
        'int': Int,
        'long': long,
        'uShort': uShort,
        'uInt': uInt,
        'uLong': uLong,
        'float': float,
        'double': Double,
        'decimal': decimal,
        'string': string,
        'dateTime': JsonConverters.toJson(dateTime,'DateTime',context!),
        'timeSpan': JsonConverters.toJson(timeSpan,'Duration',context!),
        'dateTimeOffset': JsonConverters.toJson(dateTimeOffset,'DateTime',context!),
        'guid': guid,
        'char': char
    };

    getTypeName() => "EchoTypes";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'test.servicestack.net', types: <String, TypeInfo> {
    'EchoTypes': TypeInfo(TypeOf.Class, create:() => EchoTypes()),
});

Dart EchoTypes 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 /echo/types HTTP/1.1 
Host: test.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	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: 
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	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: 
}