All Verbs | /cached/orders | ||
---|---|---|---|
All Verbs | /cached/orders/page/{Page} | ||
All Verbs | /cached/customers/{CustomerId}/orders |
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Northwind.ServiceModel;
using Northwind.ServiceModel.Types;
namespace Northwind.ServiceModel
{
public partial class CachedGetOrders
: IGet
{
public virtual int? Page { get; set; }
public virtual string CustomerId { get; set; }
}
[DataContract]
public partial class OrdersResponse
{
[DataMember]
public virtual List<CustomerOrder> Results { get; set; } = [];
[DataMember]
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
namespace Northwind.ServiceModel.Types
{
[DataContract]
public partial class CustomerOrder
{
[DataMember]
public virtual Order Order { get; set; }
[DataMember]
public virtual List<OrderDetail> OrderDetails { get; set; } = [];
}
[DataContract]
public partial class Order
{
[DataMember]
public virtual int Id { get; set; }
[DataMember]
public virtual string CustomerId { get; set; }
[DataMember]
public virtual int EmployeeId { get; set; }
[DataMember]
public virtual DateTime? OrderDate { get; set; }
[DataMember]
public virtual DateTime? RequiredDate { get; set; }
[DataMember]
public virtual DateTime? ShippedDate { get; set; }
[DataMember]
public virtual int? ShipVia { get; set; }
[DataMember]
public virtual decimal Freight { get; set; }
[DataMember]
public virtual string ShipName { get; set; }
[DataMember]
public virtual string ShipAddress { get; set; }
[DataMember]
public virtual string ShipCity { get; set; }
[DataMember]
public virtual string ShipRegion { get; set; }
[DataMember]
public virtual string ShipPostalCode { get; set; }
[DataMember]
public virtual string ShipCountry { get; set; }
}
[DataContract]
public partial class OrderDetail
{
[DataMember]
public virtual int OrderId { get; set; }
[DataMember]
public virtual int ProductId { get; set; }
[DataMember]
public virtual decimal UnitPrice { get; set; }
[DataMember]
public virtual short Quantity { get; set; }
[DataMember]
public virtual double Discount { 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 } } }