Получать вложенные xml объекты при весенней загрузке - PullRequest
0 голосов
/ 09 января 2020

Я новичок в понятиях 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 (вложенный объект) получен как ноль.

Что я сделал не так? кто-нибудь может мне помочь?

...