title: Customize attribute names with Web API default model binder?
body: <p>I have a request model class that I'm trying to use the default Web API 2 model binding (.NET 4.6.1). Some of the query string parameters match the model properties, but some do not. </p>
  
  <pre><code>public async Task&lt;IHttpActionResult&gt; Get([FromUri]MyRequest request) {...}
  </code></pre>
  
  <p>Sample query string:</p>
  
  <pre><code>/api/endpoint?country=GB
  </code></pre>
  
  <p>Sample model property:</p>
  
  <pre><code>public class MyRequest
  {
      [JsonProperty("country")] // Did not work
      [DataMember(Name = "country")] // Also did not work
      public string CountryCode { get; set; }
      // ... other properties
  }
  </code></pre>
  
  <p>Is there a way to use attributes on my model (like you might use <code>[JsonProperty("country")]</code>) to avoid implementing a custom model binding? Or is best approach just to use create a specific model for the QueryString to bind, and then use AutoMapper to customize for the differences?</p>