All Verbs | /cached/customers/{Id} |
---|
using System;
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 CachedGetCustomerDetails
: IGet
{
public virtual string Id { get; set; }
}
[DataContract]
public partial class CustomerDetailsResponse
{
public CustomerDetailsResponse()
{
Orders = new List<CustomerOrder>{};
}
[DataMember]
public virtual Customer Customer { get; set; }
[DataMember]
public virtual List<CustomerOrder> Orders { get; set; }
[DataMember]
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
namespace Northwind.ServiceModel.Types
{
[DataContract]
public partial class Customer
{
[DataMember]
public virtual string Id { get; set; }
[DataMember]
public virtual string CompanyName { get; set; }
[DataMember]
public virtual string ContactName { get; set; }
[DataMember]
public virtual string ContactTitle { get; set; }
[DataMember]
public virtual string Address { get; set; }
[DataMember]
public virtual string City { get; set; }
[DataMember]
public virtual string Region { get; set; }
[DataMember]
public virtual string PostalCode { get; set; }
[DataMember]
public virtual string Country { get; set; }
[DataMember]
public virtual string Phone { get; set; }
[DataMember]
public virtual string Fax { get; set; }
}
[DataContract]
public partial class CustomerOrder
{
public CustomerOrder()
{
OrderDetails = new List<OrderDetail>{};
}
[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; }
}
}
C# CachedGetCustomerDetails DTOs
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/customers/{Id} HTTP/1.1
Host: northwind.netcore.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: String
}
HTTP/1.1 200 OK Content-Type: text/jsv 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: 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 } } }