dudgns2043
10
2021-07-22 15:51:50
0
43

spring boot Json Object to String 맵핑관련해서 MismatchedInputException: 해결 방안 알려주실분ㅠㅠ


모든 클래스에 똑같이 아래 어노테이션이 붙어있습니다.

@Builder

@AllArgsConstructor

@NoArgsConstructor

@Data

public class AreaResponse {

   @JsonProperty("response")

   public Response response;

}

public class Response {

   @JsonProperty("header")

   public  AreaHeader header;

   @JsonProperty("body")

   public  AreaBody body;

}

public class AreaHeader {

   String resultCode;

   String resultMsg;

}

public class AreaBody {

   int pageNo;

   int totalCount;

   int numOfRows;

   

   @JsonProperty("items")

   public AreaItem items;

}

public class AreaItem {

   @JsonProperty("item")

   public List<AreaSubItem> item;

}

public class AreaSubItem {

   int code;

   String name;

   int rnum;

}


받을려는 데이터

{

  • response
    {
    • header
      {
      • resultCode"0000",
      • resultMsg"OK"
      },
    • body
      {
      • items
        {
        • item
          [
          • {
            • code1,
            • name"서울",
            • rnum1
            },
          • {
            • code2,
            • name"인천",
            • rnum2
            },
          • {
            • code3,
            • name"대전",
            • rnum3
            },
          • {
            • code4,
            • name"대구",
            • rnum4
            },
          • {
            • code5,
            • name"광주",
            • rnum5
            },
          • {
            • code6,
            • name"부산",
            • rnum6
            },
          • {
            • code7,
            • name"울산",
            • rnum7
            },
          • {
            • code8,
            • name"세종특별자치시",
            • rnum8
            },
          • {
            • code31,
            • name"경기도",
            • rnum9
            },
          • {
            • code32,
            • name"강원도",
            • rnum10
            }
          ]
        },
      • numOfRows10,
      • pageNo1,
      • totalCount17
      }
    }

}

ResponseEntity<String> responseEntity = restTemplate.exchange(uri, HttpMethod.GET, new HttpEntity(httpHeaders), String.class);

ObjectMapper xmlMapper = new ObjectMapper();

String jsonString;

AreaResponse response=null;

try {

jsonString = xmlMapper.writeValueAsString(responseEntity.getBody());

response = xmlMapper.readValue(jsonString,AreaResponse.class);


} catch (JsonProcessingException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

jsonString에는 값이 제대로 들어오는거 같은데 respose object에 readValue시에 문제가 발생합니다ㅠㅠ 원인이 무엇일까요?..

0
  • 답변 0

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