Northwind Web Services

<back to all web services

CachedGetCustomerDetails

Cached
The following routes are available for this service:
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

HTTP + 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
		}
	}
}