초보개발개발자
90
2018-09-02 13:57:38 작성 2018-09-02 17:52:58 수정됨
2
872

spring JSON @RequestBody 질문입니다..ㅠ


현재 JSON데이터가 아래와 같은데

{

"header":{

"EDI": "DT",

},

"product":[{

"SERIAL_NO": 1,

"TAXTYPE_CODE": "1",

},

{

"SERIAL_NO": 2,

"TAXTYPE_CODE": "1",

}

]

}


spring에서  @RequestBody Map<String, JSONObject> map 형식으로 받으니깐 product 가 Array이여서 받아지지가 않네요.. 

(+추가)

그래서 @RequestBody Map<String, List<JSONObject>>로 받게 되면 "header" 가 받아지지 않고 있습니다..

저렇게 된 JSON데이터를 받으려면 어떻게 수정해야 할까요..


0
  • 답변 2

  • 디늑
    677
    2018-09-02 20:29:06

    VO로 한번 모아줍니다


    requestVO

    import net.minidev.json.JSONObject;
    
    public class RequestVO {
    	
    	private JSONObject header;
    	private List<JSONObject> product;
    }


    controller

    @RequestBody RequestVO request

  • bluerain
    2k
    2018-09-03 08:59:03

    또 다른 방법은

    @RequestBody Map<String, Object> map 

    로 받고,

    해당 controller에서 변환 처리를 해도 됩니다만,

    각 controller마다 들어오는 data에 맞게 변환 처리를 해야죠.

    (받은 값이 Object 인지, ArrayObject 인지 분리해서 각 VO에 맞게 변환 하는 처리.

    아니면 그대로 사용하고, 사용시에 맞게 추출하는 정도.)



  • 로그인을 하시면 답변을 등록할 수 있습니다.