-
-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Labels
autofiltererenhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Description
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
Labels
autofiltererenhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers