spring mvc를 사용하면
프런트엔드(ios/android)에 전달하는 json 데이터가 spring에 의해 bean으로 변환되겠죠?
그럼 이 빈들은 모두 정의된 자바 클래스인가요?
프런트 엔드에 필요한 json은 매우 유연하다고 생각하기 때문에 백엔드가 여러 개의 크고 완전한 Bean으로 캡슐화되면 프런트 엔드에 쓸모없는 필드가 많이 생길 것입니다.
(null 값이나 기본값이 포함된 필드가 json에 표시되지 않도록 직렬화 전략을 제어할 수 있지만 이렇게 하면 필드가 불완전하고 가독성이 떨어집니다.)
빈, 빈을 너무 많이 생성해야 합니다.
우리 프로젝트에서는 기본적으로 맵을 사용하여 필요한 데이터를 구성합니다(주로 jdbctemplate을 사용하고 쿼리된 데이터가 맵 유형이기 때문에). 매우 유연하지만 종종 손으로 직접 작성해야 합니다. 키 이름도 귀찮습니다.
다들 어떻게 해결하셨나요? 편하게 조언 부탁드립니다. 감사합니다!
天蓬老师2017-05-27 17:41:59
과거에는 데이터를 결합하기 위해 맵을 사용했지만 키 이름을 손으로 쓰는 것은 정말 번거롭고 실수하기 쉽습니다. 이는 소위 마법의 가치이므로 가능한 한 피해야 합니다. 나중에 그들은 작고 아름다운 bean으로 전환했습니다. 각 인터페이스는 bean에 해당합니다. 숫자는 상대적으로 크지만 bean을 수정하는 것은 다른 인터페이스에 영향을 미치지 않으며 여전히 허용됩니다. 이보다 더 우아한 해결책은 없는지 모르겠습니다.