| GET | /api/v1/videos |
|---|
import 'package:servicestack/servicestack.dart';
class Status implements IConvertible
{
String? message;
int? statusCode;
Status({this.message,this.statusCode});
Status.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
message = json['message'];
statusCode = json['statusCode'];
return this;
}
Map<String, dynamic> toJson() => {
'message': message,
'statusCode': statusCode
};
getTypeName() => "Status";
TypeContext? context = _ctx;
}
class BaseResponse implements IConvertible
{
Status? status;
BaseResponse({this.status});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
status = JsonConverters.fromJson(json['status'],'Status',context!);
return this;
}
Map<String, dynamic> toJson() => {
'status': JsonConverters.toJson(status,'Status',context!)
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
class VideoFeedItem implements IConvertible
{
String? animalId;
String? videoUrl;
String? thumbnailUrl;
String? description;
String? title;
VideoFeedItem({this.animalId,this.videoUrl,this.thumbnailUrl,this.description,this.title});
VideoFeedItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
animalId = json['animalId'];
videoUrl = json['videoUrl'];
thumbnailUrl = json['thumbnailUrl'];
description = json['description'];
title = json['title'];
return this;
}
Map<String, dynamic> toJson() => {
'animalId': animalId,
'videoUrl': videoUrl,
'thumbnailUrl': thumbnailUrl,
'description': description,
'title': title
};
getTypeName() => "VideoFeedItem";
TypeContext? context = _ctx;
}
class GetVideoFeedResponse extends BaseResponse implements IConvertible
{
List<VideoFeedItem>? videos;
String? offset;
GetVideoFeedResponse({this.videos,this.offset});
GetVideoFeedResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
videos = JsonConverters.fromJson(json['videos'],'List<VideoFeedItem>',context!);
offset = json['offset'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'videos': JsonConverters.toJson(videos,'List<VideoFeedItem>',context!),
'offset': offset
});
getTypeName() => "GetVideoFeedResponse";
TypeContext? context = _ctx;
}
class GetVideoFeed implements IGet, IConvertible
{
int? pageSize;
String? offset;
GetVideoFeed({this.pageSize,this.offset});
GetVideoFeed.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
pageSize = json['pageSize'];
offset = json['offset'];
return this;
}
Map<String, dynamic> toJson() => {
'pageSize': pageSize,
'offset': offset
};
getTypeName() => "GetVideoFeed";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'pecuario_backend.develsystems.com', types: <String, TypeInfo> {
'Status': TypeInfo(TypeOf.Class, create:() => Status()),
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'VideoFeedItem': TypeInfo(TypeOf.Class, create:() => VideoFeedItem()),
'GetVideoFeedResponse': TypeInfo(TypeOf.Class, create:() => GetVideoFeedResponse()),
'List<VideoFeedItem>': TypeInfo(TypeOf.Class, create:() => <VideoFeedItem>[]),
'GetVideoFeed': TypeInfo(TypeOf.Class, create:() => GetVideoFeed()),
});
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.
GET /api/v1/videos HTTP/1.1 Host: pecuario-backend.develsystems.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
videos:
[
{
animalId: String,
videoUrl: String,
thumbnailUrl: String,
description: String,
title: String
}
],
offset: String
}