| POST | /v4/collections |
|---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class V4BaseRequest implements IConvertible
{
V4BaseRequest();
V4BaseRequest.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "V4BaseRequest";
TypeContext? context = _ctx;
}
// @DataContract
class V4BaseResponse implements IConvertible
{
// @DataMember(Name="status")
ResponseStatus? status;
V4BaseResponse({this.status});
V4BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
status = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'status': JsonConverters.toJson(status,'ResponseStatus',context!)
};
getTypeName() => "V4BaseResponse";
TypeContext? context = _ctx;
}
abstract class IPostCollectionResponseData
{
String? id;
}
// @DataContract
class PostCollectionResponse extends V4BaseResponse implements IPostCollectionResponse, IConvertible
{
// @DataMember(Name="data")
IPostCollectionResponseData? data;
PostCollectionResponse({this.data});
PostCollectionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
data = JsonConverters.fromJson(json['data'],'IPostCollectionResponseData',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'data': JsonConverters.toJson(data,'IPostCollectionResponseData',context!)
});
getTypeName() => "PostCollectionResponse";
TypeContext? context = _ctx;
}
// @DataContract
class PostCollectionRequest extends V4BaseRequest implements IPostCollectionRequest, IConvertible
{
// @DataMember(Name="title")
String? title;
// @DataMember(Name="linkIds")
List<String>? linkIds;
// @DataMember(Name="collectionSettingsId")
String? collectionSettingsId;
PostCollectionRequest({this.title,this.linkIds,this.collectionSettingsId});
PostCollectionRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
title = json['title'];
linkIds = JsonConverters.fromJson(json['linkIds'],'List<String>',context!);
collectionSettingsId = json['collectionSettingsId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'title': title,
'linkIds': JsonConverters.toJson(linkIds,'List<String>',context!),
'collectionSettingsId': collectionSettingsId
});
getTypeName() => "PostCollectionRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'collections_api_zane.dev.platform.georiot.com', types: <String, TypeInfo> {
'V4BaseRequest': TypeInfo(TypeOf.Class, create:() => V4BaseRequest()),
'V4BaseResponse': TypeInfo(TypeOf.Class, create:() => V4BaseResponse()),
'IPostCollectionResponseData': TypeInfo(TypeOf.Interface),
'PostCollectionResponse': TypeInfo(TypeOf.Class, create:() => PostCollectionResponse()),
'PostCollectionRequest': TypeInfo(TypeOf.Class, create:() => PostCollectionRequest()),
});
Dart PostCollectionRequest DTOs
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 /v4/collections HTTP/1.1
Host: collections-api-zane.dev.platform.georiot.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
title: String,
collectionSettingsId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
status:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}