MyApp

<back to all web services

HelloAllTypes

Imports System
Imports System.IO
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 Overridable Property IntArray As Integer() = New Integer(){}
            Public Overridable Property IntList As List(Of Integer) = New List(Of Integer)
            Public Overridable Property StringArray As String() = New String(){}
            Public Overridable Property StringList As List(Of String) = New List(Of String)
            Public Overridable Property PocoArray As Poco() = New Poco(){}
            Public Overridable Property PocoList As List(Of Poco) = New List(Of Poco)
            Public Overridable Property NullableByteArray As Byte?() = New Byte?(){}
            Public Overridable Property NullableByteList As List(Of Nullable(Of Byte)) = New List(Of Nullable(Of Byte))
            Public Overridable Property NullableDateTimeArray As Date?() = New Date?(){}
            Public Overridable Property NullableDateTimeList As List(Of Nullable(Of DateTime)) = New List(Of Nullable(Of DateTime))
            Public Overridable Property PocoLookup As Dictionary(Of String, List(Of Poco)) = New Dictionary(Of String, List(Of Poco))
            Public Overridable Property PocoLookupMap As Dictionary(Of String, List(Of Dictionary(Of String,Poco))) = New Dictionary(Of String, List(Of Dictionary(Of String,Poco)))
        End Class

        Public Partial Class AllTypes
            Implements IGet
            Public Overridable Property Id As Integer
            Public Overridable Property NullableId As 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 Date?
            Public Overridable Property NullableTimeSpan As TimeSpan?
            Public Overridable Property StringList As List(Of String) = New List(Of String)
            Public Overridable Property StringArray As String() = New String(){}
            Public Overridable Property StringMap As Dictionary(Of String, String) = New Dictionary(Of String, String)
            Public Overridable Property IntStringMap As Dictionary(Of Integer, String) = New 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

VB.NET HelloAllTypes DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /csv/reply/HelloAllTypes HTTP/1.1 
Host: blazor-gallery.servicestack.net 
Accept: text/csv
Content-Type: text/csv
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: text/csv
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"}}]}}}