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_test.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 .xml suffix or ?format=xml
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-test.sirva.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ClientDownloadRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Client_Initiations.ServiceModel.ClientUpload">
<ExternalId>String</ExternalId>
<Day>0</Day>
<FileName>String</FileName>
<Month>0</Month>
</ClientDownloadRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ClientDownloadResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Client_Initiations.ServiceModel.ClientUpload"> <IsSuccess>false</IsSuccess> <Message>String</Message> <FileName>String</FileName> <Stream xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.IO" i:nil="true" /> </ClientDownloadResponse>