| All Verbs | /cached/orders | ||
|---|---|---|---|
| All Verbs | /cached/orders/page/{Page} | ||
| All Verbs | /cached/customers/{CustomerId}/orders |
namespace Northwind.ServiceModel
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<DataContract>]
[<AllowNullLiteral>]
type Order() =
[<DataMember>]
member val Id:Int32 = new Int32() with get,set
[<DataMember>]
member val CustomerId:String = null with get,set
[<DataMember>]
member val EmployeeId:Int32 = new Int32() with get,set
[<DataMember>]
member val OrderDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember>]
member val RequiredDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember>]
member val ShippedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember>]
member val ShipVia:Nullable<Int32> = new Nullable<Int32>() with get,set
[<DataMember>]
member val Freight:Decimal = new Decimal() with get,set
[<DataMember>]
member val ShipName:String = null with get,set
[<DataMember>]
member val ShipAddress:String = null with get,set
[<DataMember>]
member val ShipCity:String = null with get,set
[<DataMember>]
member val ShipRegion:String = null with get,set
[<DataMember>]
member val ShipPostalCode:String = null with get,set
[<DataMember>]
member val ShipCountry:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type OrderDetail() =
[<DataMember>]
member val OrderId:Int32 = new Int32() with get,set
[<DataMember>]
member val ProductId:Int32 = new Int32() with get,set
[<DataMember>]
member val UnitPrice:Decimal = new Decimal() with get,set
[<DataMember>]
member val Quantity:Int16 = new Int16() with get,set
[<DataMember>]
member val Discount:Double = new Double() with get,set
[<DataContract>]
[<AllowNullLiteral>]
type CustomerOrder() =
[<DataMember>]
member val Order:Order = null with get,set
[<DataMember>]
member val OrderDetails:ResizeArray<OrderDetail> = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type OrdersResponse() =
[<DataMember>]
member val Results:ResizeArray<CustomerOrder> = null with get,set
[<DataMember>]
member val ResponseStatus:ResponseStatus = null with get,set
[<AllowNullLiteral>]
type CachedGetOrders() =
interface IGet
member val Page:Nullable<Int32> = new Nullable<Int32>() with get,set
member val CustomerId:String = null with get,set
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.
POST /cached/orders HTTP/1.1
Host: northwind.netcore.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
page: 0,
customerId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
results:
[
{
order:
{
id: 0,
customerId: String,
employeeId: 0,
orderDate: 0001-01-01,
requiredDate: 0001-01-01,
shippedDate: 0001-01-01,
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
}
}
}