| POST | /Statements/BankStatements |
|---|
import 'package:servicestack/servicestack.dart';
// @DataContract
abstract class ServiceRequestBase implements IHasVersion
{
ServiceRequestBase();
ServiceRequestBase.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "ServiceRequestBase";
TypeContext? context = _ctx;
}
// @DataContract
class ServiceResponseBase implements IConvertible
{
/**
* Identifies whether the request executed successfully, however does not indicated requested data was found
*/
// @DataMember
// @ApiMember(Description="Identifies whether the request executed successfully, however does not indicated requested data was found")
bool? IsSuccessful;
/**
* The status code returned by the service
*/
// @DataMember
// @ApiMember(Description="The status code returned by the service")
int? StatusCode;
/**
* The status message returned by the service
*/
// @DataMember
// @ApiMember(Description="The status message returned by the service")
String? StatusMessage;
// @DataMember
// @ApiMember(ExcludeInSchema=true)
Map<String,String?>? ServiceDebugFields;
ServiceResponseBase({this.IsSuccessful,this.StatusCode,this.StatusMessage,this.ServiceDebugFields});
ServiceResponseBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
IsSuccessful = json['IsSuccessful'];
StatusCode = json['StatusCode'];
StatusMessage = json['StatusMessage'];
ServiceDebugFields = JsonConverters.toStringMap(json['ServiceDebugFields']);
return this;
}
Map<String, dynamic> toJson() => {
'IsSuccessful': IsSuccessful,
'StatusCode': StatusCode,
'StatusMessage': StatusMessage,
'ServiceDebugFields': ServiceDebugFields
};
getTypeName() => "ServiceResponseBase";
TypeContext? context = _ctx;
}
class BankStatements extends ServiceRequestBase implements IConvertible
{
/**
* The account number for the requested statement.
*/
// @ApiMember(Description="The account number for the requested statement.", IsRequired=true)
int? AccountNumber;
/**
* The short-date format (mm-dd-yyyy) of the statement date.
*/
// @ApiMember(Description="The short-date format (mm-dd-yyyy) of the statement date.", IsRequired=true)
DateTime? StatementDate;
BankStatements({this.AccountNumber,this.StatementDate});
BankStatements.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
AccountNumber = json['AccountNumber'];
StatementDate = JsonConverters.fromJson(json['StatementDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'AccountNumber': AccountNumber,
'StatementDate': JsonConverters.toJson(StatementDate,'DateTime',context!)
});
getTypeName() => "BankStatements";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'services.allianceassociationbank.com', types: <String, TypeInfo> {
'ServiceRequestBase': TypeInfo(TypeOf.AbstractClass),
'ServiceResponseBase': TypeInfo(TypeOf.Class, create:() => ServiceResponseBase()),
'BankStatements': TypeInfo(TypeOf.Class, create:() => BankStatements()),
});
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 /Statements/BankStatements HTTP/1.1
Host: services.allianceassociationbank.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
AccountNumber: 0,
StatementDate: 0001-01-01
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
IsSuccessful: False,
StatusCode: 0,
StatusMessage: String,
ServiceDebugFields:
{
ApiServiceHost: AZW-AABWPW03,
ApiServiceHostVersion: 2016.1.18.3
}
}