인프런 커뮤니티 질문&답변

서가원님의 프로필 이미지
서가원

작성한 질문수

따라하며 배우는 NestJS

게시물 생성하기 (Service 부분)

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

작성

·

377

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

        }

      ]

    }

  ]

}

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
서가원님의 프로필 이미지
서가원

작성한 질문수

질문하기