C#C
C#11mo ago
sl8er

Binding case-insensitive query parameter to string enum in .NET 9 Minimal API

I have an
order
query parameter that I'd like to bind to an
Order
enum in a minimal API endpoint (
[FromQuery] Order order = Order.Desc
).

[JsonConverter(typeof(JsonStringEnumConverter))]
public enum Order
{
    [JsonStringEnumMemberName("asc")] Asc,

    [JsonStringEnumMemberName("desc")] Desc
}


I'd like to accept all values like "ASC", "asc", "Asc", but currently only "Asc" and "Desc" work. I get a bad request with
Microsoft.AspNetCore.Http.BadHttpRequestException: Failed to bind parameter "Order order" from "desc".
Was this page helpful?