Test

<back to all web services

HelloWithEnum

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

        Public Enum EnumAsInt
            Value1 = 1000
            Value2 = 2000
            Value3 = 3000
        End Enum

        <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 EnumStyleMembers
            <EnumMember(Value:="lower")>
            Lower
            <EnumMember(Value:="UPPER")>
            Upper
            <EnumMember(Value:="PascalCase")>
            PascalCase
            <EnumMember(Value:="camelCase")>
            CamelCase
            <EnumMember(Value:="camelUPPER")>
            CamelUpper
            <EnumMember(Value:="PascalUPPER")>
            PascalUpper
        End Enum

        Public Enum EnumType
            Value1
            Value2
            Value3
        End Enum

        <Flags>
        Public Enum EnumTypeFlags
            Value1 = 0
            Value2 = 1
            Value3 = 2
        End Enum

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

        Public Partial Class HelloWithEnum
            Public Overridable Property EnumProp As EnumType
            Public Overridable Property EnumTypeFlags As EnumTypeFlags
            Public Overridable Property EnumWithValues As EnumWithValues
            Public Overridable Property NullableEnumProp As Nullable(Of EnumType)
            Public Overridable Property EnumFlags As EnumFlags
            Public Overridable Property EnumAsInt As EnumAsInt
            Public Overridable Property EnumStyle As EnumStyle
            Public Overridable Property EnumStyleMembers As EnumStyleMembers
        End Class
    End Namespace
End Namespace

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

{"enumProp":"Value1","enumTypeFlags":0,"enumWithValues":"None","nullableEnumProp":"Value1","enumFlags":0,"enumAsInt":"Value1","enumStyle":"lower","enumStyleMembers":"lower"}