I hoped that an Action signature like
[HttpPost]
public string Post(string thirdPartySpecifiedParameter)
would automagically bind a hyphenated query parameter
controller?third-party-specified-parameter=value
or a JSON posted value
{ "third-party-specified-parameter":"value" }
and assign it to thirdPartySpecifiedParameter but it doesn't. The routing docs deal with the example of mapping hyphens in Urls paths, but not with binding parameter & field names which are invalid for C#.
What's the simplest way to bind the incoming hyphenated name to the matching C# parameter?