efun.id.api

<back to all web services

PostListRequest

The following routes are available for this service:
GET/api/v1/posts
import 'package:servicestack/servicestack.dart';

class PagingRequest implements IConvertible
{
    int page = 0;
    int limit = 0;
    int offSet = 0;

    PagingRequest({this.page,this.limit,this.offSet});
    PagingRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        page = json['page'];
        limit = json['limit'];
        offSet = json['offSet'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'page': page,
        'limit': limit,
        'offSet': offSet
    };

    getTypeName() => "PagingRequest";
    TypeContext? context = _ctx;
}

class PostListRequest extends PagingRequest implements IConvertible
{
    int page = 0;
    int limit = 0;
    String? category;

    PostListRequest({this.page,this.limit,this.category});
    PostListRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        page = json['page'];
        limit = json['limit'];
        category = json['category'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'page': page,
        'limit': limit,
        'category': category
    });

    getTypeName() => "PostListRequest";
    TypeContext? context = _ctx;
}

class BannerListResponse implements IConvertible
{
    int id = 0;
    String title = "";
    String image = "";
    String url = "";
    bool publish;
    DateTime publishDate = DateTime(0);
    int orderIndex = 0;

    BannerListResponse({this.id,this.title,this.image,this.url,this.publish,this.publishDate,this.orderIndex});
    BannerListResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        title = json['title'];
        image = json['image'];
        url = json['url'];
        publish = json['publish'];
        publishDate = JsonConverters.fromJson(json['publishDate'],'DateTime',context!);
        orderIndex = json['orderIndex'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'title': title,
        'image': image,
        'url': url,
        'publish': publish,
        'publishDate': JsonConverters.toJson(publishDate,'DateTime',context!),
        'orderIndex': orderIndex
    };

    getTypeName() => "BannerListResponse";
    TypeContext? context = _ctx;
}

class BaseResponse<T> implements IResponseRequest, IConvertible
{
    int code = 0;
    String? message;
    List<BannerListResponse>? data;

    BaseResponse({this.code,this.message,this.data});
    BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        code = json['code'];
        message = json['message'];
        data = JsonConverters.fromJson(json['data'],'List<BannerListResponse>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'code': code,
        'message': message,
        'data': JsonConverters.toJson(data,'List<BannerListResponse>',context!)
    };

    getTypeName() => "BaseResponse<$T>";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'efun_id_api_sandbox.efun.vn', types: <String, TypeInfo> {
    'PagingRequest': TypeInfo(TypeOf.Class, create:() => PagingRequest()),
    'PostListRequest': TypeInfo(TypeOf.Class, create:() => PostListRequest()),
    'BannerListResponse': TypeInfo(TypeOf.Class, create:() => BannerListResponse()),
    'BaseResponse<T>': TypeInfo(TypeOf.Class, create:() => BaseResponse<T>()),
    'List<BannerListResponse>': TypeInfo(TypeOf.Class, create:() => <BannerListResponse>[]),
});

Dart PostListRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /api/v1/posts HTTP/1.1 
Host: efun-id-api-sandbox.efun.vn 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<BaseResponseOfanyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/efun.id.api.ServiceModel">
  <Code>0</Code>
  <Data />
  <Message>String</Message>
</BaseResponseOfanyType>