GET | /2.0/address/{Postcode} | ||
---|---|---|---|
GET | /2.0/address/{Postcode}/{HouseNo} |
import Foundation
import ServiceStack
public class AddressRequest : IHasVersion, Codable
{
public var version:Int
/**
* Using a Postcode to return addresses.
*/
// @ApiMember(DataType="string", Description="Using a Postcode to return addresses.", IsRequired=true, Name="Postcode", ParameterType="path")
public var postcode:String
/**
* Optional input value to limit the return data to a specific address.
*/
// @ApiMember(DataType="string", Description="Optional input value to limit the return data to a specific address.", Name="House Name or Number", ParameterType="path")
public var houseNo:String
required public init(){}
}
// @DataContract(Name="LookupResult", Namespace="http://schemas.datacontract.org/2004/07/PostcodeLookupService")
public class LookupResult : Codable
{
// @DataMember
public var addresses:[Address] = []
// @DataMember
public var errormsg:String
required public init(){}
}
// @DataContract(Name="Address", Namespace="http://schemas.datacontract.org/2004/07/PostcodeLookupService")
public class Address : Codable
{
// @DataMember
public var county:String
// @DataMember
public var id:Int
// @DataMember
public var locality:String
// @DataMember
public var organisation:String
// @DataMember
public var postcode:String
// @DataMember
public var property:String
// @DataMember
public var rappPremiseId:Int
// @DataMember
public var street:String
// @DataMember
public var town:String
// @DataMember
public var fullAddress:String
required public init(){}
}
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 /2.0/address/{Postcode} HTTP/1.1 Host: webservices.mbukdatabase.co.uk Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Addresses: [ { County: String, Id: 0, Locality: String, Organisation: String, Postcode: String, Property: String, RAPPPremiseId: 0, Street: String, Town: String, FullAddress: "String, String, String, String, String, String" } ], errormsg: String }