我正在使用 ServiceStack v 3.9.71 和ServiceStack.Text.EnumMemberSerializer
程序集将枚举序列化为可读文本。
这很好用,我的枚举值被序列化为我使用EnumMemberAttribute
.
不过,问题是 Swagger 不使用我的名字。我的猜测是它只是调用.ToString()
枚举值而不是EnumMemberAttribute
值的方法。
这是我设置序列化的顺序。(在 AppHost 中):
new EnumSerializerConfigurator()
.WithEnumTypes(new Type[] { typeof(MyEnum) })
.Configure();
Plugins.Add(new SwaggerFeature());
在添加 swagger 功能之前或之后设置枚举序列化程序似乎并不重要。