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 HelloWithEnumList
Public Overridable Property EnumProp As List(Of EnumType) = New List(Of EnumType)
Public Overridable Property EnumWithValues As List(Of EnumWithValues) = New List(Of EnumWithValues)
Public Overridable Property NullableEnumProp As List(Of Nullable(Of EnumType)) = New List(Of Nullable(Of EnumType))
Public Overridable Property EnumFlags As List(Of EnumFlags) = New List(Of EnumFlags)
Public Overridable Property EnumStyle As List(Of EnumStyle) = New List(Of EnumStyle)
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/oneway/HelloWithEnumList HTTP/1.1
Host: test.servicestack.net
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"enumProp":["Value1"],"enumWithValues":["None"],"nullableEnumProp":["Value1"],"enumFlags":[0],"enumStyle":["lower"]}