Не парсится 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 - важно, что они с большой буквы