| GET | /api/v1/users |
|---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class ResponseStatus implements IMeta, IConvertible
{
// @DataMember(Order=1)
int? statusCode;
// @DataMember(Order=2)
String? message;
// @DataMember(Order=3)
String? stackTrace;
// @DataMember(Order=4)
List<ResponseError>? errors;
// @DataMember(Order=5)
Map<String,String?>? meta;
ResponseStatus({this.statusCode,this.message,this.stackTrace,this.errors,this.meta});
ResponseStatus.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
statusCode = json['statusCode'];
message = json['message'];
stackTrace = json['stackTrace'];
errors = JsonConverters.fromJson(json['errors'],'List<ResponseError>',context!);
meta = JsonConverters.toStringMap(json['meta']);
return this;
}
Map<String, dynamic> toJson() => {
'statusCode': statusCode,
'message': message,
'stackTrace': stackTrace,
'errors': JsonConverters.toJson(errors,'List<ResponseError>',context!),
'meta': meta
};
getTypeName() => "ResponseStatus";
TypeContext? context = _ctx;
}
class BaseResponse implements IConvertible
{
ResponseStatus? responseStatus;
BaseResponse({this.responseStatus});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
class MUser implements IConvertible
{
String? id;
String? email;
String? firstName;
String? lastName;
String? country;
String? language;
String? birthDate;
String? address;
String? address2;
String? city;
String? state;
String? zipCode;
String? phoneNumber;
bool? emailConfirmed;
String? healthId;
String? memberId;
String? subscription;
MUser({this.id,this.email,this.firstName,this.lastName,this.country,this.language,this.birthDate,this.address,this.address2,this.city,this.state,this.zipCode,this.phoneNumber,this.emailConfirmed,this.healthId,this.memberId,this.subscription});
MUser.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
email = json['email'];
firstName = json['firstName'];
lastName = json['lastName'];
country = json['country'];
language = json['language'];
birthDate = json['birthDate'];
address = json['address'];
address2 = json['address2'];
city = json['city'];
state = json['state'];
zipCode = json['zipCode'];
phoneNumber = json['phoneNumber'];
emailConfirmed = json['emailConfirmed'];
healthId = json['healthId'];
memberId = json['memberId'];
subscription = json['subscription'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'email': email,
'firstName': firstName,
'lastName': lastName,
'country': country,
'language': language,
'birthDate': birthDate,
'address': address,
'address2': address2,
'city': city,
'state': state,
'zipCode': zipCode,
'phoneNumber': phoneNumber,
'emailConfirmed': emailConfirmed,
'healthId': healthId,
'memberId': memberId,
'subscription': subscription
};
getTypeName() => "MUser";
TypeContext? context = _ctx;
}
class GetUsersResponse extends BaseResponse implements IConvertible
{
List<MUser>? users;
GetUsersResponse({this.users});
GetUsersResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
users = JsonConverters.fromJson(json['users'],'List<MUser>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'users': JsonConverters.toJson(users,'List<MUser>',context!)
});
getTypeName() => "GetUsersResponse";
TypeContext? context = _ctx;
}
class GetUsers implements IConvertible
{
GetUsers();
GetUsers.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "GetUsers";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'auth.migrantleap.com', types: <String, TypeInfo> {
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'MUser': TypeInfo(TypeOf.Class, create:() => MUser()),
'GetUsersResponse': TypeInfo(TypeOf.Class, create:() => GetUsersResponse()),
'List<MUser>': TypeInfo(TypeOf.Class, create:() => <MUser>[]),
'GetUsers': TypeInfo(TypeOf.Class, create:() => GetUsers()),
});
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.
GET /api/v1/users HTTP/1.1 Host: auth.migrantleap.com Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<GetUsersResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MigrantLeap.Auth.v1.Models">
<ResponseStatus>
<StatusCode>0</StatusCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors xmlns:d3p1="http://schemas.servicestack.net/types">
<d3p1:ResponseError>
<d3p1:ErrorCode>String</d3p1:ErrorCode>
<d3p1:FieldName>String</d3p1:FieldName>
<d3p1:Message>String</d3p1:Message>
<d3p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d3p1:Meta>
</d3p1:ResponseError>
</Errors>
<Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>
<Users>
<MUser>
<Address>String</Address>
<Address2>String</Address2>
<BirthDate>String</BirthDate>
<City>String</City>
<Country>String</Country>
<Email>String</Email>
<EmailConfirmed>false</EmailConfirmed>
<FirstName>String</FirstName>
<HealthId>String</HealthId>
<Id>String</Id>
<Language>String</Language>
<LastName>String</LastName>
<MemberId>String</MemberId>
<PhoneNumber>String</PhoneNumber>
<State>String</State>
<Subscription>String</Subscription>
<ZipCode>String</ZipCode>
</MUser>
</Users>
</GetUsersResponse>