The same body, read twice,

and the amounts don't match.

{"amount": 10, "to": "alice", "amount": 1000}
THE CHECK IN FRONT
keeps the first copy
10
under its limit of 100, so the
request is allowed through
YOUR API · System.Text.Json
keeps the last copy
1000
status 200, no warning, and this
is the amount the endpoint acts on
.NET 10, one line AllowDuplicateProperties = false and the same body gets a 400 while ASP.NET Core is still binding it
.NET 10 · the default is true · both numbers are the demo endpoint's own output
gdhami.net