Я передаю тело запроса POST-запросу почтальона, похожему на этот:
"name":"Mars",
"artifacts":[
{
"elements":[
{
"name":"carbon",
"amount":0.5,
"measurement":"g"
}
],
"typeName":"typeA"
},
{
"elements":[
{
"name":"hydrogen",
"amount":0.2,
"measurement":"g"
}
],
"typeName":"typeB"
}
]
Метод создания в контроллере rest выглядит следующим образом.
@RequestMapping("/create")
public Planet create(@RequestBody Planet data) {
Planet mars = planetService.create(data.getName(),data.getArtifacts());
return mars;
Планета и все ее вложенные объекты имеют конструктор по умолчанию, например:
public Planet() {}
Однако я не могу создать новый объект планеты из-за отсутствия конструктора по умолчанию. Пожалуйста, помогите!
РЕДАКТИРОВАТЬ:
Класс Planet
public class Planet {
@JsonProperty("name")
private String name;
@Field("artifacts")
private List artifacts;
public Planet() {}
public Planet(String name, List artifacts)
{
this.name = name;
this.artifacts = artifacts;
}
//setters and getters
}
Класс артефакта:
public class Artifact() {
@Field("elements")
private List elements;
@JsonProperty("typeName")
private String typeName;
public Artifact() {}
public Artifact(String typeName, List elements)
{
this.typeName = typeName;
this.elements = elements;
}
}
Класс элемента:
public class Element() {
@JsonProperty("elementName")
private String name;
@JsonProperty("amount")
private double amount;
@JsonProperty("measurement")
private String measurement;
public Element() {}
public Element(String name, double amount, String measurement)
{
//assignments
}
}
Подробнее здесь: https://stackoverflow.com/questions/546 ... est-api-sp
Для интерфейса java.util.List Rest API Spring boot не найден основной конструктор или конструктор по умолчанию. ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение