All Verbs | /cached/customers/{Id} |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Northwind.ServiceModel
Imports Northwind.ServiceModel.Types
Namespace Global
Namespace Northwind.ServiceModel
Public Partial Class CachedGetCustomerDetails
Implements IGet
Public Overridable Property Id As String
End Class
<DataContract>
Public Partial Class CustomerDetailsResponse
Public Sub New()
Orders = New List(Of CustomerOrder)
End Sub
<DataMember>
Public Overridable Property Customer As Customer
<DataMember>
Public Overridable Property Orders As List(Of CustomerOrder)
<DataMember>
Public Overridable Property ResponseStatus As ResponseStatus
End Class
End Namespace
Namespace Northwind.ServiceModel.Types
<DataContract>
Public Partial Class Customer
<DataMember>
Public Overridable Property Id As String
<DataMember>
Public Overridable Property CompanyName As String
<DataMember>
Public Overridable Property ContactName As String
<DataMember>
Public Overridable Property ContactTitle As String
<DataMember>
Public Overridable Property Address As String
<DataMember>
Public Overridable Property City As String
<DataMember>
Public Overridable Property Region As String
<DataMember>
Public Overridable Property PostalCode As String
<DataMember>
Public Overridable Property Country As String
<DataMember>
Public Overridable Property Phone As String
<DataMember>
Public Overridable Property Fax As String
End Class
<DataContract>
Public Partial Class CustomerOrder
Public Sub New()
OrderDetails = New List(Of OrderDetail)
End Sub
<DataMember>
Public Overridable Property Order As Order
<DataMember>
Public Overridable Property OrderDetails As List(Of OrderDetail)
End Class
<DataContract>
Public Partial Class Order
<DataMember>
Public Overridable Property Id As Integer
<DataMember>
Public Overridable Property CustomerId As String
<DataMember>
Public Overridable Property EmployeeId As Integer
<DataMember>
Public Overridable Property OrderDate As Nullable(Of Date)
<DataMember>
Public Overridable Property RequiredDate As Nullable(Of Date)
<DataMember>
Public Overridable Property ShippedDate As Nullable(Of Date)
<DataMember>
Public Overridable Property ShipVia As Nullable(Of Integer)
<DataMember>
Public Overridable Property Freight As Decimal
<DataMember>
Public Overridable Property ShipName As String
<DataMember>
Public Overridable Property ShipAddress As String
<DataMember>
Public Overridable Property ShipCity As String
<DataMember>
Public Overridable Property ShipRegion As String
<DataMember>
Public Overridable Property ShipPostalCode As String
<DataMember>
Public Overridable Property ShipCountry As String
End Class
<DataContract>
Public Partial Class OrderDetail
<DataMember>
Public Overridable Property OrderId As Integer
<DataMember>
Public Overridable Property ProductId As Integer
<DataMember>
Public Overridable Property UnitPrice As Decimal
<DataMember>
Public Overridable Property Quantity As Short
<DataMember>
Public Overridable Property Discount As Double
End Class
End Namespace
End Namespace
VB.NET 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 } } }