| GET | /v1/product/metadata |
|---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class ProductMetadata extends ProductMetadata implements IConvertible
{
ProductMetadata();
ProductMetadata.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "ProductMetadata";
TypeContext? context = _ctx;
}
// @DataContract
class GetProductMetadataResponse implements IConvertible
{
// @DataMember(Name="productMetadata")
ProductMetadata? productMetadata;
// @DataMember(Name="isSupported")
bool? isSupported;
// @DataMember(Name="responseStatus")
ResponseStatus? responseStatus;
GetProductMetadataResponse({this.productMetadata,this.isSupported,this.responseStatus});
GetProductMetadataResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
productMetadata = JsonConverters.fromJson(json['productMetadata'],'ProductMetadata',context!);
isSupported = json['isSupported'];
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'productMetadata': JsonConverters.toJson(productMetadata,'ProductMetadata',context!),
'isSupported': isSupported,
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "GetProductMetadataResponse";
TypeContext? context = _ctx;
}
// @DataContract
class GetProductMetadataRequest implements IConvertible
{
// @DataMember(Name="url")
// @ApiMember(IsRequired=true)
String? url;
GetProductMetadataRequest({this.url});
GetProductMetadataRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
url = json['url'];
return this;
}
Map<String, dynamic> toJson() => {
'url': url
};
getTypeName() => "GetProductMetadataRequest";
TypeContext? context = _ctx;
}
// @DataContract
abstract class ProductMetadata
{
// @DataMember(Name="title")
String? title;
// @DataMember(Name="author")
String? author;
// @DataMember(Name="url")
Uri? url;
// @DataMember(Name="description")
String? description;
// @DataMember(Name="retailer")
String? retailer;
// @DataMember(Name="productImages")
Map<String,Uri?>? productImages;
ProductMetadata({this.title,this.author,this.url,this.description,this.retailer,this.productImages});
ProductMetadata.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
title = json['title'];
author = json['author'];
url = JsonConverters.fromJson(json['url'],'Uri',context!);
description = json['description'];
retailer = json['retailer'];
productImages = JsonConverters.fromJson(json['productImages'],'Map<String,Uri?>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'title': title,
'author': author,
'url': JsonConverters.toJson(url,'Uri',context!),
'description': description,
'retailer': retailer,
'productImages': JsonConverters.toJson(productImages,'Map<String,Uri?>',context!)
};
getTypeName() => "ProductMetadata";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.booklinker.com', types: <String, TypeInfo> {
'ProductMetadata': TypeInfo(TypeOf.Class, create:() => ProductMetadata()),
'GetProductMetadataResponse': TypeInfo(TypeOf.Class, create:() => GetProductMetadataResponse()),
'GetProductMetadataRequest': TypeInfo(TypeOf.Class, create:() => GetProductMetadataRequest()),
'Uri': TypeInfo(TypeOf.Class, create:() => Uri()),
'Map<String,Uri?>': TypeInfo(TypeOf.Class, create:() => Map<String,Uri?>()),
});
Dart GetProductMetadataRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/product/metadata HTTP/1.1 Host: api.booklinker.com Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"productMetadata":{"title":"String","author":"String","description":"String","retailer":"String"},"isSupported":false,"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}