| All Verbs | /{Brand}/browse/{BrowseType}/ | ||
|---|---|---|---|
| All Verbs | /{Brand}/browse/{BrowseType}/{Path} |
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
class Brand(str, Enum):
DESKTOP = 'Desktop'
HP = 'Hp'
KYOCERA = 'Kyocera'
NEA_SCAN = 'NeaScan'
SAMSUNG = 'Samsung'
FUJI_XEROX = 'FujiXerox'
TA = 'Ta'
UTAX = 'Utax'
EPSON = 'Epson'
SCAN_FRONT400 = 'ScanFront400'
SHARP = 'Sharp'
RICOH = 'Ricoh'
FUJI_FILM = 'FujiFilm'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DtoBase:
brand: Optional[Brand] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RequestBase(DtoBase):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BrowseRequest(RequestBase):
path: 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 /{Brand}/browse/{BrowseType}/ HTTP/1.1
Host: buildmax.org
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"Path":"String","Brand":"Desktop"}