How to serialize a simple Enum as Integer instead of String By Default in .NET 6

187 Views Asked by At

I am using Refit Client to call APIs in .NET and here it is my refit settings

var refitSettings = new RefitSettings(
                         new SystemTextJsonContentSerializer(
                             new JsonSerializerOptions()
                             {
                                 PropertyNameCaseInsensitive = true,
                                 PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
                                 Converters = {
                                         new JsonStringEnumMemberConverter(),
                                         new ObjectToInferredTypesConverter()
                                 }
                             })
                         );

I am configuring it like this

 services.AddRefitClient<ISomeRefitApi>(refitSettings);

This is my Enum

public enum GenderType
{
    Male = 1,
    Female = 2,
    Other = 3
}

But it is being serialized as Male/Female/Other with above options I want it to be 1/2/3

How can I achieve it ?

0

There are 0 best solutions below