Я новичок в понятиях Spring boot и spring rest. Я не знаю, как получить вложенный запрос xml, отправленный из браузера.
Go через мои базовые c коды. Я отправляю почтовый запрос от почтальона с вложенными xml объектами по телу запроса. Я не могу получить вложенную сущность, отправленную из браузера в контроллер.
Вот мой контроллер, сущность и вход xml.
Контроллер CrudRest. java
@PostMapping(value ="/instructor/add",consumes = MediaType.APPLICATION_XML_VALUE )
public void insertInstructor(@RequestBody Instructor instructor) {
instructorDao.save(instructor);
System.out.println("inserted successfully");
}
Инструктор. java
@Entity
@Table(name="instructor")
@XmlRootElement(name="Instructor")
public class Instructor {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@Column(name="first_name")
private String firstName;
@Column(name="last_name")
private String lastName;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "instructor_detail_id")
private InstructorDetail instructorDetail;
}
InstructorDetailDetail. java
@Entity
@Table(name="instructor_detail")
@XmlRootElement(name="instructorDetail")
public class InstructorDetail {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@Column(name="hobby")
private String hobby;
@Column(name="channel")
private String channel;
}
I отправляю запрос на отправку с нижеуказанным вводом, используя почтальона
<Instructor>
<id>2</id>
<firstName>indu</firstName>
<lastName>ramasamy</lastName>
<InstructorDetail>
<id>2</id>
<hobby>reading</hobby>
<channel>helly</channel>
</InstructorDetail>
</Instructor>
Но в контроллере я получаю только id, firstName, lastName в объекте Instructor. т.е.) InstructorDetail (вложенный объект) получен как ноль.
Что я сделал не так? кто-нибудь может мне помочь?