• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

nested json을 dto로 전달하려면 어떻게 해야하나요?

22.10.27 10:47 작성 조회수 300

0

1개의 json 객체 안에 프로퍼티가 다른 여러 객체들이 들어있는 리스트가 담겨있는 것을 dto로 전달하려면 어떻게 해야하나요?

구글링해보니까 nested 인터페이스를 사용하기도 하던데,

Entity는 일반적으로 class로 만드니까 nested class는 어떻게 생성하는지가 궁금합니다.

그리고 제 목표는 저 json 인에 들어있는 2가지 종류의 객체( slider type과 selecrive type)를 1번의 post메소드로만 보내고 싶습니다. 그런데 아래처럼 두 객체의 프로퍼티가 다를때, 하나의service,controller,repository를 이용해서 전달하려면 어떻게 해야하나요?

json 객체의 형태는 아래와 같습니다.

{

  "questions_count": 8,

  "results_slider": [

    {

      "type": "slider",

      "main_criteria_id": 0,

      "main_criteria": "Mollit mollit qui sint irure do ad laborum quis ullamco eu dolor.",

      "sub_criterias": [

        "Eu occaecat pariatur sunt duis amet in sint velit amet consequat deserunt.",

        "Culpa Lorem nisi ut ea irure et eu do cupidatat ipsum duis veniam elit."

      ],

      "results": [

        {

          "sub_criteria_id": 0,

          "sub_criteria_score": 4.7748

        },

        {

          "sub_criteria_id": 1,

          "sub_criteria_score": 7.091

        }

      ]

    },

    {

      "type": "slider",

      "main_criteria_id": 1,

      "main_criteria": "Qui consequat ullamco aliquip Lorem minim commodo irure magna cillum.",

      "sub_criterias": [

        "Velit eu ullamco id nisi quis consequat non non commodo aliquip qui mollit.",

        "In esse amet proident dolore do aliquip est deserunt commodo eu eiusmod cillum.",

        "Nisi laboris velit Lorem irure."

      ],

      "results": [

        {

          "sub_criteria_id": 0,

          "sub_criteria_score": 8.1561

        }

      ]

    }

  ],

  "results_selective": [

    {

      "type": "selective",

      "selective_criteria_id": 0,

      "selective_criteria": "Aute veniam quis adipisicing sint est amet aliquip elit.",

      "results": [

        {

          "option_id": 0,

          "option_score": 3

        },

        {

          "option_id": 1,

          "option_score": 4

        },

        {

          "option_id": 2,

          "option_score": 5

        },

        {

          "option_id": 3,

          "option_score": 2

        }

      ]

    },

    {

      "type": "selective",

      "selective_criteria_id": 1,

      "selective_criteria": "Ipsum culpa dolore ad culpa amet aute ad.",

      "results": [

        {

          "option_id": 0,

          "option_score": 3

        }

      ]

    }

  ]

}

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!