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 .csv suffix or ?format=csv
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/csv
Content-Type: text/csv
Content-Length: length
{"id":"String"}
HTTP/1.1 200 OK Content-Type: text/csv 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"}}}