POST | /RestApi/comments-api/comments/filter |
---|
import 'package:servicestack/servicestack.dart';
class CommentResponse implements IConvertible
{
String? Key;
String? Name;
String? Message;
DateTime? DateCreated;
String? ProfilePictureUrl;
String? ProfilePictureThumbnailUrl;
String? Status;
String? Email;
String? ThreadKey;
String? AuthorIpAddress;
String? CustomData;
double? Rating;
CommentResponse({this.Key,this.Name,this.Message,this.DateCreated,this.ProfilePictureUrl,this.ProfilePictureThumbnailUrl,this.Status,this.Email,this.ThreadKey,this.AuthorIpAddress,this.CustomData,this.Rating});
CommentResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Key = json['Key'];
Name = json['Name'];
Message = json['Message'];
DateCreated = JsonConverters.fromJson(json['DateCreated'],'DateTime',context!);
ProfilePictureUrl = json['ProfilePictureUrl'];
ProfilePictureThumbnailUrl = json['ProfilePictureThumbnailUrl'];
Status = json['Status'];
Email = json['Email'];
ThreadKey = json['ThreadKey'];
AuthorIpAddress = json['AuthorIpAddress'];
CustomData = json['CustomData'];
Rating = JsonConverters.toDouble(json['Rating']);
return this;
}
Map<String, dynamic> toJson() => {
'Key': Key,
'Name': Name,
'Message': Message,
'DateCreated': JsonConverters.toJson(DateCreated,'DateTime',context!),
'ProfilePictureUrl': ProfilePictureUrl,
'ProfilePictureThumbnailUrl': ProfilePictureThumbnailUrl,
'Status': Status,
'Email': Email,
'ThreadKey': ThreadKey,
'AuthorIpAddress': AuthorIpAddress,
'CustomData': CustomData,
'Rating': Rating
};
getTypeName() => "CommentResponse";
TypeContext? context = _ctx;
}
class CommentsFilterExtended implements IConvertible
{
List<String>? CommentKey;
List<String>? ThreadKey;
List<String>? Language;
List<String>? AuthorKey;
List<String>? Status;
List<String>? ThreadType;
List<String>? Behavior;
List<String>? GroupKey;
int? Skip;
int? Take;
bool? SortDescending;
DateTime? NewerThan;
DateTime? OlderThan;
CommentsFilterExtended({this.CommentKey,this.ThreadKey,this.Language,this.AuthorKey,this.Status,this.ThreadType,this.Behavior,this.GroupKey,this.Skip,this.Take,this.SortDescending,this.NewerThan,this.OlderThan});
CommentsFilterExtended.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CommentKey = JsonConverters.fromJson(json['CommentKey'],'List<String>',context!);
ThreadKey = JsonConverters.fromJson(json['ThreadKey'],'List<String>',context!);
Language = JsonConverters.fromJson(json['Language'],'List<String>',context!);
AuthorKey = JsonConverters.fromJson(json['AuthorKey'],'List<String>',context!);
Status = JsonConverters.fromJson(json['Status'],'List<String>',context!);
ThreadType = JsonConverters.fromJson(json['ThreadType'],'List<String>',context!);
Behavior = JsonConverters.fromJson(json['Behavior'],'List<String>',context!);
GroupKey = JsonConverters.fromJson(json['GroupKey'],'List<String>',context!);
Skip = json['Skip'];
Take = json['Take'];
SortDescending = json['SortDescending'];
NewerThan = JsonConverters.fromJson(json['NewerThan'],'DateTime',context!);
OlderThan = JsonConverters.fromJson(json['OlderThan'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CommentKey': JsonConverters.toJson(CommentKey,'List<String>',context!),
'ThreadKey': JsonConverters.toJson(ThreadKey,'List<String>',context!),
'Language': JsonConverters.toJson(Language,'List<String>',context!),
'AuthorKey': JsonConverters.toJson(AuthorKey,'List<String>',context!),
'Status': JsonConverters.toJson(Status,'List<String>',context!),
'ThreadType': JsonConverters.toJson(ThreadType,'List<String>',context!),
'Behavior': JsonConverters.toJson(Behavior,'List<String>',context!),
'GroupKey': JsonConverters.toJson(GroupKey,'List<String>',context!),
'Skip': Skip,
'Take': Take,
'SortDescending': SortDescending,
'NewerThan': JsonConverters.toJson(NewerThan,'DateTime',context!),
'OlderThan': JsonConverters.toJson(OlderThan,'DateTime',context!)
};
getTypeName() => "CommentsFilterExtended";
TypeContext? context = _ctx;
}
class CollectionResponse<CommentResponse> implements IConvertible
{
int? TotalCount;
List<CommentResponse>? Items;
CollectionResponse({this.TotalCount,this.Items});
CollectionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TotalCount = json['TotalCount'];
Items = JsonConverters.fromJson(json['Items'],'IEnumerable<${runtimeGenericTypeDefs(this,[0]).join(",")}>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'TotalCount': TotalCount,
'Items': JsonConverters.toJson(Items,'List<CommentResponse>',context!)
};
getTypeName() => "CollectionResponse<$CommentResponse>";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'www.asg.com.au', types: <String, TypeInfo> {
'CommentResponse': TypeInfo(TypeOf.Class, create:() => CommentResponse()),
'CommentsFilterExtended': TypeInfo(TypeOf.Class, create:() => CommentsFilterExtended()),
'CollectionResponse<CommentResponse>': TypeInfo(TypeOf.Class, create:() => CollectionResponse<CommentResponse>()),
});
Dart CommentsFilterExtended 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 /RestApi/comments-api/comments/filter HTTP/1.1
Host: www.asg.com.au
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CommentsFilterExtended xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Services.Comments.DTO">
<AuthorKey xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</AuthorKey>
<Behavior xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Behavior>
<CommentKey xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</CommentKey>
<GroupKey xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</GroupKey>
<Language xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Language>
<NewerThan>0001-01-01T00:00:00</NewerThan>
<OlderThan>0001-01-01T00:00:00</OlderThan>
<Skip>0</Skip>
<SortDescending>false</SortDescending>
<Status xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Status>
<Take>0</Take>
<ThreadKey xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</ThreadKey>
<ThreadType xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</ThreadType>
</CommentsFilterExtended>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <CollectionResponseOfCommentResponseXvaRN2Ag xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Services.Comments.DTO"> <Items i:nil="true" /> <TotalCount>0</TotalCount> </CollectionResponseOfCommentResponseXvaRN2Ag>