Required role: | Admin |
import 'package:servicestack/servicestack.dart';
class PageStats implements IConvertible
{
String? label;
int? total;
PageStats({this.label,this.total});
PageStats.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
label = json['label'];
total = json['total'];
return this;
}
Map<String, dynamic> toJson() => {
'label': label,
'total': total
};
getTypeName() => "PageStats";
TypeContext? context = _ctx;
}
class AdminDataResponse implements IConvertible
{
List<PageStats>? pageStats = [];
ResponseStatus? responseStatus;
AdminDataResponse({this.pageStats,this.responseStatus});
AdminDataResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
pageStats = JsonConverters.fromJson(json['pageStats'],'List<PageStats>',context!);
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'pageStats': JsonConverters.toJson(pageStats,'List<PageStats>',context!),
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "AdminDataResponse";
TypeContext? context = _ctx;
}
// @ValidateRequest(Validator="IsAdmin")
class AdminData implements IGet, IConvertible
{
AdminData();
AdminData.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "AdminData";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'blazordiffusion.com', types: <String, TypeInfo> {
'PageStats': TypeInfo(TypeOf.Class, create:() => PageStats()),
'AdminDataResponse': TypeInfo(TypeOf.Class, create:() => AdminDataResponse()),
'List<PageStats>': TypeInfo(TypeOf.Class, create:() => <PageStats>[]),
'AdminData': TypeInfo(TypeOf.Class, create:() => AdminData()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/AdminData HTTP/1.1
Host: blazordiffusion.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { pageStats: [ { label: String, total: 0 } ], responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }