title: asp.net core 3 webapi : Route or Bind parameters (query or posted) with hyphens in their name
body: <p>I hoped that an Action signature like</p>
  
  <pre><code>[HttpPost]
  public string Post(string thirdPartySpecifiedParameter)
  </code></pre>
  
  <p>would automagically bind a hyphenated query parameter </p>
  
  <pre class="lang-none prettyprint-override"><code>controller?third-party-specified-parameter=value
  </code></pre>
  
  <p>or a JSON posted value</p>
  
  <pre><code>{ "third-party-specified-parameter":"value" }
  </code></pre>
  
  <p>and assign it to <code>thirdPartySpecifiedParameter</code> but it doesn't. The <em>routing</em> docs deal with the example of mapping hyphens in Urls paths, but not with <em>binding</em> parameter &amp; field names which are invalid for C#. </p>
  
  <p>What's the simplest way to bind the incoming hyphenated name to the matching C# parameter?</p>