JSON which is sent:
{
"Banner": "ABC"
}
Java model:
...
@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;
}
}
Controller:
@RequestMapping(value = {"/GetBanner"}, method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<String> enrollCustomer(@RequestBody BannerData body, HttpServletRequest request) throws Exception {
...
}
request to /GetBanner
returns:
The request sent by the client was syntactically incorrect.
Works OK when json changed to (lowercase naming as is Java field name):
{
"banner": "ABC"
}
However I need uppercase field naming in JSON.
Looks like @JsonProperty(value = "Banner")
does not work.
Is it correct mapping?