Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports MyApp.ServiceModel
Namespace Global
Namespace MyApp.ServiceModel
Public Partial Class AllCollectionTypes
Public Sub New()
IntArray = New Integer(){}
IntList = New List(Of Integer)
StringArray = New String(){}
StringList = New List(Of String)
PocoArray = New Poco(){}
PocoList = New List(Of Poco)
NullableByteArray = New Nullable(Of Byte){}
NullableByteList = New List(Of Nullable(Of Byte))
NullableDateTimeArray = New Nullable(Of Date){}
NullableDateTimeList = New List(Of Nullable(Of DateTime))
PocoLookup = New Dictionary(Of String, List(Of Poco))
PocoLookupMap = New Dictionary(Of String, List(Of Dictionary(Of String,Poco)))
End Sub
Public Overridable Property IntArray As Integer()
Public Overridable Property IntList As List(Of Integer)
Public Overridable Property StringArray As String()
Public Overridable Property StringList As List(Of String)
Public Overridable Property PocoArray As Poco()
Public Overridable Property PocoList As List(Of Poco)
Public Overridable Property NullableByteArray As Nullable(Of Byte)
Public Overridable Property NullableByteList As List(Of Nullable(Of Byte))
Public Overridable Property NullableDateTimeArray As Nullable(Of Date)
Public Overridable Property NullableDateTimeList As List(Of Nullable(Of DateTime))
Public Overridable Property PocoLookup As Dictionary(Of String, List(Of Poco))
Public Overridable Property PocoLookupMap As Dictionary(Of String, List(Of Dictionary(Of String,Poco)))
End Class
Public Partial Class AllTypes
Implements IGet
Public Sub New()
StringList = New List(Of String)
StringArray = New String(){}
StringMap = New Dictionary(Of String, String)
IntStringMap = New Dictionary(Of Integer, String)
End Sub
Public Overridable Property Id As Integer
Public Overridable Property NullableId As Nullable(Of Integer)
Public Overridable Property [Byte] As Byte
Public Overridable Property [Short] As Short
Public Overridable Property Int As Integer
Public Overridable Property [Long] As Long
Public Overridable Property [UShort] As UInt16
Public Overridable Property UInt As UInt32
Public Overridable Property [ULong] As UInt64
Public Overridable Property Float As Single
Public Overridable Property [Double] As Double
Public Overridable Property [Decimal] As Decimal
Public Overridable Property [String] As String
Public Overridable Property DateTime As Date
Public Overridable Property TimeSpan As TimeSpan
Public Overridable Property DateTimeOffset As DateTimeOffset
Public Overridable Property Guid As Guid
Public Overridable Property [Char] As Char
Public Overridable Property KeyValuePair As KeyValuePair(Of String, String)
Public Overridable Property NullableDateTime As Nullable(Of Date)
Public Overridable Property NullableTimeSpan As Nullable(Of TimeSpan)
Public Overridable Property StringList As List(Of String)
Public Overridable Property StringArray As String()
Public Overridable Property StringMap As Dictionary(Of String, String)
Public Overridable Property IntStringMap As Dictionary(Of Integer, String)
Public Overridable Property SubType As SubType
Public Overridable Property Point As String
<DataMember(Name:="aliasedName")>
Public Overridable Property OriginalName As String
End Class
Public Partial Class HelloAllTypes
Public Overridable Property Name As String
Public Overridable Property AllTypes As AllTypes
Public Overridable Property AllCollectionTypes As AllCollectionTypes
End Class
Public Partial Class HelloAllTypesResponse
Public Overridable Property Result As String
Public Overridable Property AllTypes As AllTypes
Public Overridable Property AllCollectionTypes As AllCollectionTypes
End Class
Public Partial Class Poco
Public Overridable Property Name As String
End Class
Public Partial Class SubType
Public Overridable Property Id As Integer
Public Overridable Property Name As String
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /json/reply/HelloAllTypes HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: application/json
Content-Type: application/json
Content-Length: length
{"name":"String","allTypes":{"id":0,"nullableId":0,"byte":0,"short":0,"int":0,"long":0,"uShort":0,"uInt":0,"uLong":0,"float":0,"double":0,"decimal":0,"string":"String","dateTime":"0001-01-01T00:00:00","timeSpan":"PT0S","dateTimeOffset":"0001-01-01T00:00:00+00:00","guid":"00000000-0000-0000-0000-000000000000","char":"\u0000","keyValuePair":{"key":"String","value":"String"},"nullableDateTime":"0001-01-01T00:00:00","nullableTimeSpan":"PT0S","stringList":["String"],"stringArray":["String"],"stringMap":{"String":"String"},"intStringMap":{"0":"String"},"subType":{"id":0,"name":"String"},"point":"0,0","aliasedName":"String"},"allCollectionTypes":{"intArray":[0],"intList":[0],"stringArray":["String"],"stringList":["String"],"pocoArray":[{"name":"String"}],"pocoList":[{"name":"String"}],"nullableByteArray":[0],"nullableByteList":[0],"nullableDateTimeArray":["0001-01-01T00:00:00"],"nullableDateTimeList":["0001-01-01T00:00:00"],"pocoLookup":{"String":[{"name":"String"}]},"pocoLookupMap":{"String":[{"String":{"name":"String"}}]}}}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"result":"String","allTypes":{"id":0,"nullableId":0,"byte":0,"short":0,"int":0,"long":0,"uShort":0,"uInt":0,"uLong":0,"float":0,"double":0,"decimal":0,"string":"String","dateTime":"0001-01-01T00:00:00","timeSpan":"PT0S","dateTimeOffset":"0001-01-01T00:00:00+00:00","guid":"00000000-0000-0000-0000-000000000000","char":"\u0000","keyValuePair":{"key":"String","value":"String"},"nullableDateTime":"0001-01-01T00:00:00","nullableTimeSpan":"PT0S","stringList":["String"],"stringArray":["String"],"stringMap":{"String":"String"},"intStringMap":{"0":"String"},"subType":{"id":0,"name":"String"},"point":"0,0","aliasedName":"String"},"allCollectionTypes":{"intArray":[0],"intList":[0],"stringArray":["String"],"stringList":["String"],"pocoArray":[{"name":"String"}],"pocoList":[{"name":"String"}],"nullableByteArray":[0],"nullableByteList":[0],"nullableDateTimeArray":["0001-01-01T00:00:00"],"nullableDateTimeList":["0001-01-01T00:00:00"],"pocoLookup":{"String":[{"name":"String"}]},"pocoLookupMap":{"String":[{"String":{"name":"String"}}]}}}