diff --git a/src/JsonApiDotNetCore/Internal/TypeHelper.cs b/src/JsonApiDotNetCore/Internal/TypeHelper.cs
index 60574ff295..ca382c10d6 100644
--- a/src/JsonApiDotNetCore/Internal/TypeHelper.cs
+++ b/src/JsonApiDotNetCore/Internal/TypeHelper.cs
@@ -22,6 +22,9 @@ public static object ConvertType(object value, Type type)
if (type == typeof(DateTimeOffset))
return DateTimeOffset.Parse(stringValue);
+ if (type.GetTypeInfo().IsEnum)
+ return Enum.Parse(type, stringValue);
+
return Convert.ChangeType(stringValue, type);
}
catch (Exception e)
diff --git a/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj b/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj
index 699a20076b..01b1879e83 100755
--- a/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj
+++ b/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj
@@ -1,6 +1,6 @@
- 2.0.8
+ 2.0.9
netstandard1.6
JsonApiDotNetCore
JsonApiDotNetCore
@@ -21,4 +21,4 @@
-
\ No newline at end of file
+
diff --git a/test/UnitTests/Internal/TypeHelper_Tests.cs b/test/UnitTests/Internal/TypeHelper_Tests.cs
index 7f05edd892..1e75e705d2 100644
--- a/test/UnitTests/Internal/TypeHelper_Tests.cs
+++ b/test/UnitTests/Internal/TypeHelper_Tests.cs
@@ -30,5 +30,23 @@ public void Bad_DateTimeOffset_String_Throws()
// assert
Assert.Throws(() => TypeHelper.ConvertType(formattedString, typeof(DateTimeOffset)));
}
+
+ [Fact]
+ public void Can_Convert_Enums()
+ {
+ // arrange
+ var formattedString = "1";
+
+ // act
+ var result = TypeHelper.ConvertType(formattedString, typeof(TestEnum));
+
+ // assert
+ Assert.Equal(TestEnum.Test, result);
+ }
+
+ public enum TestEnum
+ {
+ Test = 1
+ }
}
}