All Verbs | /echo/types |
---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EchoTypes:
byte: int = 0
short: int = 0
int_: int = field(metadata=config(field_name='int'), default=0)
long: int = 0
u_short: int = 0
u_int: int = 0
u_long: int = 0
float_: float = field(metadata=config(field_name='float'), default=0.0)
double: float = 0.0
decimal: Decimal = decimal.Decimal(0)
string: Optional[str] = None
date_time: datetime.datetime = datetime.datetime(1, 1, 1)
time_span: datetime.timedelta = datetime.timedelta()
date_time_offset: datetime.datetime = datetime.datetime(1, 1, 1)
guid: Optional[str] = None
char: Optional[str] = None
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
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/jsonl
Content-Type: text/jsonl
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":"\/Date(-62135596800000-0000)\/","timeSpan":"PT0S","dateTimeOffset":"\/Date(-62135596800000)\/","guid":"00000000000000000000000000000000","char":"\u0000"}
HTTP/1.1 200 OK Content-Type: text/jsonl 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":"\/Date(-62135596800000-0000)\/","timeSpan":"PT0S","dateTimeOffset":"\/Date(-62135596800000)\/","guid":"00000000000000000000000000000000","char":"\u0000"}