Test

<back to all web services

HelloWithEnumMap

Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Test.ServiceModel

Namespace Global

    Namespace Test.ServiceModel

        <Flags>
        Public Enum EnumFlags
            Value0 = 0
            Value1 = 1
            Value2 = 2
            Value3 = 4
            Value123 = 7
        End Enum

        Public Enum EnumStyle
            lower
            UPPER
            PascalCase
            camelCase
            camelUPPER
            PascalUPPER
        End Enum

        Public Enum EnumType
            Value1
            Value2
            Value3
        End Enum

        Public Enum EnumWithValues
            <EnumMember(Value:="None")>
            None
            <EnumMember(Value:="Member 1")>
            Value1
            <EnumMember(Value:="Value2")>
            Value2
        End Enum

        Public Partial Class HelloWithEnumMap
            Public Sub New()
                EnumProp = New Dictionary(Of EnumType, EnumType)
                EnumWithValues = New Dictionary(Of EnumWithValues, EnumWithValues)
                NullableEnumProp = New Dictionary(Of Nullable(Of EnumType), Nullable(Of EnumType))
                EnumFlags = New Dictionary(Of EnumFlags, EnumFlags)
                EnumStyle = New Dictionary(Of EnumStyle, EnumStyle)
            End Sub

            Public Overridable Property EnumProp As Dictionary(Of EnumType, EnumType)
            Public Overridable Property EnumWithValues As Dictionary(Of EnumWithValues, EnumWithValues)
            Public Overridable Property NullableEnumProp As Dictionary(Of Nullable(Of EnumType), Nullable(Of EnumType))
            Public Overridable Property EnumFlags As Dictionary(Of EnumFlags, EnumFlags)
            Public Overridable Property EnumStyle As Dictionary(Of EnumStyle, EnumStyle)
        End Class
    End Namespace
End Namespace

VB.NET HelloWithEnumMap 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 /jsv/oneway/HelloWithEnumMap HTTP/1.1 
Host: test.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	enumProp: 
	{
		Value1: Value1
	},
	enumWithValues: 
	{
		None: None
	},
	nullableEnumProp: 
	{
		Value1: Value1
	},
	enumFlags: 
	{
		0: 0
	},
	enumStyle: 
	{
		lower: lower
	}
}