Не парсится JSON через RequestBody(SpringBoot)

Кидаю JSON через Fiddler, получаю статус 200 и надпись из return - test. Возвращаюсь в консоль и ожидаю там увидеть распечатанное значение переменной, но вместо этого распечатано null. По моей логике JSON, который был послан должен был распарситься в объект range, помеченный аннотацией @RequestBody, но этого не происходит.

@RestController
public class CompController {

@PostMapping(value = "/setRage",consumes = "application/json")
public String setRage(@RequestBody Range range) {

    System.out.println(range.getEast());

    return "test";
}

Модель

public class Range {

  private String north;
  private String east;
  private String south;
  private String west;

  public Range(String north, String east, String south, String west) {
    this.north = north;
    this.east = east;
    this.south = south;
    this.west = west;
  }

  public Range() {
    super();
  }

  public String getNorth() {
    return north;
  }

  public void setNorth(String north) {
    this.north = north;
  }

  public String getEast() {
    return east;
  }

  public void setEast(String east) {
    this.east = east;
  }

  public String getSouth() {
    return south;
  }

  public void setSouth(String south) {
    this.south = south;
  }

  public String getWest() {
    return west;
  }

  public void setWest(String west) {
    this.west = west;
  }
}

Пример JSON

{

"North": "316-45",

"East": "46-135",

"South": "136-225",

"West": "226-315"

}


Ответы (1 шт):

Автор решения: ЮрийСПб

У вас в JSON имена полей с большой буквы. Попробуйте тоже самое сделать с именами переменный в классе-модели (также сделайте их публичными и удалите сеттеры/геттеры) или через аннотации укажите конкретные имена полей из JSON - важно, что они с большой буквы

→ Ссылка