title: JSON field mapping for Java model
body: <p>JSON which is sent:<br></p>
  
  <pre><code>{
    "Banner": "ABC"
  }
  </code></pre>
  
  <p>Java model:<br></p>
  
  <pre><code>...
  @JsonIgnoreProperties(ignoreUnknown = true)
  @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
  public class BannerData implements java.io.Serializable {
  
      private static final long serialVersionUID = 5664846645733319592L;
  
      @JsonProperty(value = "Banner")
      private String banner;
  
      public String getBanner() {
          return banner;
      }
  
      public void setBanner(String banner) {
          this.banner = banner;
      }
  }
  </code></pre>
  
  <p>Controller:</p>
  
  <pre><code>@RequestMapping(value = {"/GetBanner"}, method = RequestMethod.POST)
  @ResponseBody
  public ResponseEntity&lt;String&gt; enrollCustomer(@RequestBody BannerData body, HttpServletRequest request) throws Exception {
  ...
  }
  </code></pre>
  
  <p>request to <code>/GetBanner</code> returns:<br>
  <strong>The request sent by the client was syntactically incorrect.</strong></p>
  
  <p><strong>Works OK</strong> when json changed to (lowercase naming as is Java field name):<br></p>
  
  <pre><code>{
    "banner": "ABC"
  }
  </code></pre>
  
  <p>However I need <em>uppercase</em> field naming in <em>JSON</em>.<br>
  Looks like <code>@JsonProperty(value = "Banner")</code> does not work.</p>
  
  <p>Is it correct mapping?</p>