POST, PUT | /documents/download |
---|
import 'package:servicestack/servicestack.dart';
abstract class DocumentRequestBase
{
/**
* ExternalID
*/
// @ApiMember(Description="ExternalID", ExcludeInSchema=true, IsRequired=true, ParameterType="path")
String? ExternalId;
DocumentRequestBase({this.ExternalId});
DocumentRequestBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ExternalId = json['ExternalId'];
return this;
}
Map<String, dynamic> toJson() => {
'ExternalId': ExternalId
};
getTypeName() => "DocumentRequestBase";
TypeContext? context = _ctx;
}
class ClientDownloadRequest extends DocumentRequestBase implements IConvertible
{
String? FileName;
/**
* Month
*/
// @ApiMember(Description="Month", ExcludeInSchema=true, IsRequired=true, ParameterType="path")
int? Month;
/**
* Day
*/
// @ApiMember(Description="Day", ExcludeInSchema=true, IsRequired=true, ParameterType="path")
int? Day;
ClientDownloadRequest({this.FileName,this.Month,this.Day});
ClientDownloadRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
FileName = json['FileName'];
Month = json['Month'];
Day = json['Day'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'FileName': FileName,
'Month': Month,
'Day': Day
});
getTypeName() => "ClientDownloadRequest";
TypeContext? context = _ctx;
}
abstract class ResponseBase
{
String? Message;
bool? IsSuccess;
ResponseBase({this.Message,this.IsSuccess});
ResponseBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Message = json['Message'];
IsSuccess = json['IsSuccess'];
return this;
}
Map<String, dynamic> toJson() => {
'Message': Message,
'IsSuccess': IsSuccess
};
getTypeName() => "ResponseBase";
TypeContext? context = _ctx;
}
class ClientDownloadResponse extends ResponseBase implements IConvertible
{
String? FileName;
Uint8List? Stream;
ClientDownloadResponse({this.FileName,this.Stream});
ClientDownloadResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
FileName = json['FileName'];
Stream = JsonConverters.fromJson(json['Stream'],'Uint8List',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'FileName': FileName,
'Stream': JsonConverters.toJson(Stream,'Uint8List',context!)
});
getTypeName() => "ClientDownloadResponse";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'initiation.sirva.com', types: <String, TypeInfo> {
'DocumentRequestBase': TypeInfo(TypeOf.AbstractClass),
'ClientDownloadRequest': TypeInfo(TypeOf.Class, create:() => ClientDownloadRequest()),
'ResponseBase': TypeInfo(TypeOf.AbstractClass),
'ClientDownloadResponse': TypeInfo(TypeOf.Class, create:() => ClientDownloadResponse()),
'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
});
Dart ClientDownloadRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /documents/download HTTP/1.1
Host: initiation.sirva.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"FileName":"String","Month":0,"Day":0,"ExternalId":"String"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"FileName":"String","Message":"String","IsSuccess":false}