Skip to content

Make PaginationFilterBase's properties nullable #75

@oaly2000

Description

@oaly2000
An unhandled exception occurred while processing the request.
BadHttpRequestException: Required parameter "int Page" was not provided from query string.

Minimal API treats Nullable properties as optional parameters and other as required.

System.Text.Json & Json.NET both handle that correctly:

Console.WriteLine(System.Text.Json.JsonSerializer.Deserialize<MyClass>("""{}""").Page); // 1
Console.WriteLine(System.Text.Json.JsonSerializer.Deserialize<MyClass>("""{"Page": 2}""").Page); // 2
Console.WriteLine(System.Text.Json.JsonSerializer.Deserialize<MyClass>("""{"Page": null}""").Page); //

Console.WriteLine();

Console.WriteLine(Newtonsoft.Json.JsonConvert.DeserializeObject<MyClass>("{}").Page); // 1
Console.WriteLine(Newtonsoft.Json.JsonConvert.DeserializeObject<MyClass>("{\"Page\": 2}").Page); // 2
Console.WriteLine(Newtonsoft.Json.JsonConvert.DeserializeObject<MyClass>("{\"Page\": null}").Page);

class MyClass
{
    public int? Page { get; set; } = 1;
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions