All Verbs | /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
<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
Public Partial Class GetCustomerDetails
Implements IGet
Public Overridable Property Id As String
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 GetCustomerDetails 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 /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 } } }