Test

<back to all web services

HelloWithEnumMap

Imports System
Imports System.IO
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 Overridable Property EnumProp As Dictionary(Of EnumType, EnumType) = New Dictionary(Of EnumType, EnumType)
            Public Overridable Property EnumWithValues As Dictionary(Of EnumWithValues, EnumWithValues) = New Dictionary(Of EnumWithValues, EnumWithValues)
            Public Overridable Property NullableEnumProp As Dictionary(Of Nullable(Of EnumType), Nullable(Of EnumType)) = New Dictionary(Of Nullable(Of EnumType), Nullable(Of EnumType))
            Public Overridable Property EnumFlags As Dictionary(Of EnumFlags, EnumFlags) = New Dictionary(Of EnumFlags, EnumFlags)
            Public Overridable Property EnumStyle As Dictionary(Of EnumStyle, EnumStyle) = New 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
	}
}