| GET | /geodata/{CountryId}/cities/ | Get all cities for a specific country | Get all information stored on the customer |
|---|
// @ts-nocheck
// @DataContract
export class QueryBase
{
// @DataMember(Order=1)
public Skip?: number;
// @DataMember(Order=2)
public Take?: number;
// @DataMember(Order=3)
public OrderBy?: string;
// @DataMember(Order=4)
public OrderByDesc?: string;
// @DataMember(Order=5)
public Include?: string;
// @DataMember(Order=6)
public Fields?: string;
// @DataMember(Order=7)
public Meta?: { [index:string]: string; };
public constructor(init?: Partial<QueryBase>) { (Object as any).assign(this, init); }
}
export class QueryDb<From, Into> extends QueryBase
{
public constructor(init?: Partial<QueryDb<From, Into>>) { super(init); (Object as any).assign(this, init); }
}
export class GeoDataCitiesQueryResponse
{
public Id: string;
public City: string;
public Longitude: string;
public Latitude: string;
public Country: string;
public Iso2: string;
public Admin: string;
public Capital: string;
public Population?: number;
public PopulationProper?: number;
public constructor(init?: Partial<GeoDataCitiesQueryResponse>) { (Object as any).assign(this, init); }
}
export class BaseModel
{
public constructor(init?: Partial<BaseModel>) { (Object as any).assign(this, init); }
}
export class City extends BaseModel
{
// @Ignore()
public Longitude: number;
// @Ignore()
public Latitude: number;
// @Required()
public Name: string;
// @Required()
public Country: string;
public Iso2?: string;
// @Required()
public Admin: string;
public Capital?: string;
public Population?: number;
public PopulationProper?: number;
public ModifiedDate?: string;
// @Required()
public Id: string;
public constructor(init?: Partial<City>) { super(init); (Object as any).assign(this, init); }
}
export class GeoDataCitiesQuery extends QueryDb<City, GeoDataCitiesQueryResponse>
{
/** @description Enter the country id you want to search cities. Example SE for Sweden. */
// @ApiMember(Description="Enter the country id you want to search cities. Example SE for Sweden.", IsRequired=true, ParameterType="path")
public CountryId: string;
public constructor(init?: Partial<GeoDataCitiesQuery>) { super(init); (Object as any).assign(this, init); }
}
export class AccessKeyTypeResponse
{
public Id: number;
public KeyType: string;
public Description: string;
public constructor(init?: Partial<AccessKeyTypeResponse>) { (Object as any).assign(this, init); }
}
// @DataContract
export class QueryResponse<T>
{
// @DataMember(Order=1)
public Offset: number;
// @DataMember(Order=2)
public Total: number;
// @DataMember(Order=3)
public Results: AccessKeyTypeResponse[] = [];
// @DataMember(Order=4)
public Meta?: { [index:string]: string; };
// @DataMember(Order=5)
public ResponseStatus?: ResponseStatus;
public constructor(init?: Partial<QueryResponse<T>>) { (Object as any).assign(this, init); }
}
TypeScript GeoDataCitiesQuery 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.
GET /geodata/{CountryId}/cities/ HTTP/1.1
Host: api-staging.bookmore.com
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Offset: 0,
Total: 0,
Results:
[
{
City: String,
Longitude: String,
Latitude: String,
Country: String,
Iso2: String,
Admin: String,
Capital: String,
Population: 0,
PopulationProper: 0
}
],
Meta:
{
String: String
},
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}