Northwind Web Services

<back to all web services

CachedGetCustomerDetails

Cached
The following routes are available for this service:
All Verbs/cached/customers/{Id}
import Foundation
import ServiceStack

public class CachedGetCustomerDetails : IGet, Codable
{
    public var id:String

    required public init(){}
}

// @DataContract
public class CustomerDetailsResponse : Codable
{
    // @DataMember
    public var customer:Customer

    // @DataMember
    public var orders:[CustomerOrder] = []

    // @DataMember
    public var responseStatus:ResponseStatus

    required public init(){}
}

// @DataContract
public class Customer : Codable
{
    // @DataMember
    public var id:String

    // @DataMember
    public var companyName:String

    // @DataMember
    public var contactName:String

    // @DataMember
    public var contactTitle:String

    // @DataMember
    public var address:String

    // @DataMember
    public var city:String

    // @DataMember
    public var region:String

    // @DataMember
    public var postalCode:String

    // @DataMember
    public var country:String

    // @DataMember
    public var phone:String

    // @DataMember
    public var fax:String

    required public init(){}
}

// @DataContract
public class CustomerOrder : Codable
{
    // @DataMember
    public var order:Order

    // @DataMember
    public var orderDetails:[OrderDetail] = []

    required public init(){}
}

// @DataContract
public class Order : Codable
{
    // @DataMember
    public var id:Int

    // @DataMember
    public var customerId:String

    // @DataMember
    public var employeeId:Int

    // @DataMember
    public var orderDate:Date?

    // @DataMember
    public var requiredDate:Date?

    // @DataMember
    public var shippedDate:Date?

    // @DataMember
    public var shipVia:Int?

    // @DataMember
    public var freight:Double

    // @DataMember
    public var shipName:String

    // @DataMember
    public var shipAddress:String

    // @DataMember
    public var shipCity:String

    // @DataMember
    public var shipRegion:String

    // @DataMember
    public var shipPostalCode:String

    // @DataMember
    public var shipCountry:String

    required public init(){}
}

// @DataContract
public class OrderDetail : Codable
{
    // @DataMember
    public var orderId:Int

    // @DataMember
    public var productId:Int

    // @DataMember
    public var unitPrice:Double

    // @DataMember
    public var quantity:Int16

    // @DataMember
    public var discount:Double

    required public init(){}
}


Swift CachedGetCustomerDetails DTOs

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

HTTP + OTHER

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

POST /cached/customers/{Id} HTTP/1.1 
Host: northwind.netcore.io 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"id":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"customer":{"id":"String","companyName":"String","contactName":"String","contactTitle":"String","address":"String","city":"String","region":"String","postalCode":"String","country":"String","phone":"String","fax":"String"},"orders":[{"order":{"id":0,"customerId":"String","employeeId":0,"orderDate":"\/Date(-62135596800000-0000)\/","requiredDate":"\/Date(-62135596800000-0000)\/","shippedDate":"\/Date(-62135596800000-0000)\/","shipVia":0,"freight":0,"shipName":"String","shipAddress":"String","shipCity":"String","shipRegion":"String","shipPostalCode":"String","shipCountry":"String"},"orderDetails":[{"orderId":0,"productId":0,"unitPrice":0,"quantity":0,"discount":0}]}],"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}