| GET | /warranty/v1/article/{referenceId} | ||
|---|---|---|---|
| GET | /warranty/v1/article/{referenceId}/serial/{serialNumber*} |
import 'package:servicestack/servicestack.dart';
class BaseRequest<TResponse> implements IRequest, IConvertible
{
String? sid;
String? app;
String? _os;
String? _appVersion;
String? _searchMethod;
BaseRequest({this.sid,this.app,this._os,this._appVersion,this._searchMethod});
BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
sid = json['sid'];
app = json['app'];
_os = json['_os'];
_appVersion = json['_appVersion'];
_searchMethod = json['_searchMethod'];
return this;
}
Map<String, dynamic> toJson() => {
'sid': sid,
'app': app,
'_os': _os,
'_appVersion': _appVersion,
'_searchMethod': _searchMethod
};
getTypeName() => "BaseRequest<$TResponse>";
TypeContext? context = _ctx;
}
class BaseResponse implements IRespose, IConvertible
{
String? _xmlns;
String? _type;
String? _source;
String? _tstamp;
String? _user;
String? _env;
String? _uri;
String? _query;
BaseResponse({this._xmlns,this._type,this._source,this._tstamp,this._user,this._env,this._uri,this._query});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
_xmlns = json['_xmlns'];
_type = json['_type'];
_source = json['_source'];
_tstamp = json['_tstamp'];
_user = json['_user'];
_env = json['_env'];
_uri = json['_uri'];
_query = json['_query'];
return this;
}
Map<String, dynamic> toJson() => {
'_xmlns': _xmlns,
'_type': _type,
'_source': _source,
'_tstamp': _tstamp,
'_user': _user,
'_env': _env,
'_uri': _uri,
'_query': _query
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
class Visual implements IConvertible
{
String? asset;
String? small;
String? large;
Visual({this.asset,this.small,this.large});
Visual.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
asset = json['asset'];
small = json['small'];
large = json['large'];
return this;
}
Map<String, dynamic> toJson() => {
'asset': asset,
'small': small,
'large': large
};
getTypeName() => "Visual";
TypeContext? context = _ctx;
}
class ArticleDetail implements IConvertible
{
String? ref;
String? serial;
String? name;
String? shortDesc;
String? brand;
Visual? visual;
bool? isConsignment;
ArticleDetail({this.ref,this.serial,this.name,this.shortDesc,this.brand,this.visual,this.isConsignment});
ArticleDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ref = json['ref'];
serial = json['serial'];
name = json['name'];
shortDesc = json['shortDesc'];
brand = json['brand'];
visual = JsonConverters.fromJson(json['visual'],'Visual',context!);
isConsignment = json['isConsignment'];
return this;
}
Map<String, dynamic> toJson() => {
'ref': ref,
'serial': serial,
'name': name,
'shortDesc': shortDesc,
'brand': brand,
'visual': JsonConverters.toJson(visual,'Visual',context!),
'isConsignment': isConsignment
};
getTypeName() => "ArticleDetail";
TypeContext? context = _ctx;
}
class StockDetailResponse extends BaseResponse implements IConvertible
{
ArticleDetail? article;
StockDetailResponse({this.article});
StockDetailResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
article = JsonConverters.fromJson(json['article'],'ArticleDetail',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'article': JsonConverters.toJson(article,'ArticleDetail',context!)
});
getTypeName() => "StockDetailResponse";
TypeContext? context = _ctx;
}
class StockDetailRequest extends BaseRequest<StockDetailResponse> implements IConvertible
{
String? referenceId;
String? serialNumber;
StockDetailRequest({this.referenceId,this.serialNumber});
StockDetailRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
referenceId = json['referenceId'];
serialNumber = json['serialNumber'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'referenceId': referenceId,
'serialNumber': serialNumber
});
getTypeName() => "StockDetailRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'qp_microservices_booster.richemont.com', types: <String, TypeInfo> {
'BaseRequest<TResponse>': TypeInfo(TypeOf.Class, create:() => BaseRequest<TResponse>()),
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'Visual': TypeInfo(TypeOf.Class, create:() => Visual()),
'ArticleDetail': TypeInfo(TypeOf.Class, create:() => ArticleDetail()),
'StockDetailResponse': TypeInfo(TypeOf.Class, create:() => StockDetailResponse()),
'StockDetailRequest': TypeInfo(TypeOf.Class, create:() => StockDetailRequest()),
});
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.
GET /warranty/v1/article/{referenceId} HTTP/1.1
Host: qp-microservices-booster.richemont.com
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"article":{"ref":"String","serial":"String","name":"String","shortDesc":"String","brand":"String","visual":{"asset":"String","small":"String","large":"String"},"isConsignment":false},"_xmlns":"String","_type":"String","_source":"String","_tstamp":"String","_user":"String","_env":"String","_uri":"String","_query":"String"}