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

eomukeomukeomuk님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

주문 조회 V2: 엔티티를 DTO로 변환

9:56 경 "JSON의 루트는 배열로 해서는 안된다." 에 대한 질문

해결된 질문

23.05.09 21:30 작성

·

498

0

안녕하세요! JSON과 배열에 대해 질문드립니다!

9:56 경에, 영한님께서

"JSON의 루트는 배열로 해서는 안된다."

라고 언급해주셨습니다.

이것은 혹시, 클라이언트 쪽에서 해당 배열에 접근할 수 있는 방법이 없어서이기 때문일까요..?

확인해주셔서 감사드립니다!

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

2023. 05. 12. 21:11

안녕하세요. HRO님

이렇게 하면 향후 API 스펙을 변경하기가 어렵기 때문입니다.

예를 들어서 배열로 시작했는데, count라는 필드를 하나 추가하려고 하면 API 응답 스펙의 구조가 완전히 변경되어 버립니다.

기존 배열 스펙

[ "value1", "value2", "value3" ]

count 추가 스펙

{

arr: [ "value1", "value2", "value3" ]

count: 3

}

클라이언트 입장에서는 지금까지 배열로 시작하는 줄 알고 파싱을 했는데, 갑자기 구조가 변경되면 어려워지겠지요?

감사합니다.