diff --git a/src/Meilisearch/ISearchableJsonConverter.cs b/src/Meilisearch/ISearchableJsonConverter.cs
index 3a7a2400..ebacf999 100644
--- a/src/Meilisearch/ISearchableJsonConverter.cs
+++ b/src/Meilisearch/ISearchableJsonConverter.cs
@@ -33,7 +33,7 @@ public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializer
/// The json converter for
///
///
- public class ISearchableJsonConverter : JsonConverter> where T : class
+ public class ISearchableJsonConverter : JsonConverter>
{
///
public override ISearchable Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
diff --git a/tests/Meilisearch.Tests/Movie.cs b/tests/Meilisearch.Tests/Movie.cs
index dc20ffed..33a1c0d4 100644
--- a/tests/Meilisearch.Tests/Movie.cs
+++ b/tests/Meilisearch.Tests/Movie.cs
@@ -12,6 +12,14 @@ public class Movie
public string Genre { get; set; }
}
+ public struct MovieStruct
+ {
+ public string Id { get; set; }
+
+ public string Name { get; set; }
+
+ public string Genre { get; set; }
+ }
public class MovieInfo
{
public string Comment { get; set; }
diff --git a/tests/Meilisearch.Tests/SearchTests.cs b/tests/Meilisearch.Tests/SearchTests.cs
index 328b2143..97b89d90 100644
--- a/tests/Meilisearch.Tests/SearchTests.cs
+++ b/tests/Meilisearch.Tests/SearchTests.cs
@@ -45,6 +45,28 @@ public async Task BasicSearch()
movies.Hits.ElementAt(1).Name.Should().NotBeEmpty();
}
+ [Fact]
+ public async Task BasicSearchWithStruct()
+ {
+ var movies = await _basicIndex.SearchAsync("man");
+ movies.Hits.Should().NotBeEmpty();
+ movies.Hits.First().Name.Should().NotBeEmpty();
+ movies.Hits.ElementAt(1).Name.Should().NotBeEmpty();
+ }
+
+ [Fact]
+ public async Task PaginatedSearchWithStruct()
+ {
+ var movies = await _basicIndex.SearchAsync("man", new SearchQuery()
+ {
+ Page = 1,
+ HitsPerPage = 2,
+ });
+ movies.Hits.Should().NotBeEmpty();
+ movies.Hits.First().Name.Should().NotBeEmpty();
+ movies.Hits.ElementAt(1).Name.Should().NotBeEmpty();
+ }
+
[Fact]
public async Task BasicSearchWithNoQuery()
{