I created a .NET core web API from the standard F# template and added these lines:
let add x y = x + y
app.MapGet("addUgly", new Func<_,_,_>(add))
app.MapGet("addPretty", new Func<_,_,_>(fun x y -> add x y))
When I access the addPretty endpoint, I can supply parameters with the desired names: https://localhost:7129/addPretty?x=1&y=2
However, in order to access the addUgly endpoint, I must supply these parameters: https://localhost:7129/addUgly?delegateArg0=3&delegateArg1=4
Is there a way to have the generated endpoint use the desired parameter names without using a lambda? (or other constructs that involve unnecessary boilerplate, like creating a controller)?
I checked whether add and (fun x y -> add x y) had differently structured type definitions, but they both have Invoke methods with parameters named x and y, so I don't know why those names get lost in one case but not the other.
Aucun commentaire:
Enregistrer un commentaire