BoardType 클래스 추가후 직렬화코드
252
작성한 질문수 105
데이타 조회시 Board 타입의 속성값을 갖는 BaseResponse클래스 값이 리턴되는데 ...이번에는 Board 클래스안에 enum 클래스인 BoardType을 추가했다고 해서...왜 갑자기 BaseCodeLabelEnumJsonSerializer 이런 클래스를 만들고 WebConfiguration에는 ObjectMapper 와 mappingJackson~ 메소드를 추가했는지 몰겠네요...
위 두 메소드 설정추가는 BaseCodeLabelEnum 이걸 직렬화하고 json형태로 변환하기 위한 설정인줄은 알겠는데....BoardType이란걸 리턴클래스의 속성값으로 추가하면서부터 왜 갑자기 객체직렬화코드가 들어가게 된건지가 이해가 안가네요...그전에 boardType 없어도 BaseResponse에 대한 직렬화는 필요없는건가요?
결과적으로 리턴타입이 클래스 오브젝트라 하더라도 기본적으로 json형태로 출력해주는것 같은데 그래서 여쭤보는겁니다. 설령리턴 클래스안의 또 클래스타입이 속성이 있어서 모두 json형태로 출력해주지 않나요? boardType이란걸 추가하고나서부터 왜 직렬화 코드가 나와야 하는건지가 이해가 안갑니다. 그전에 리턴하는 클래스(BaseReponse)에 대해서는 직렬화코드가 왜 필요없었던건지~~
답변 1
0
BaseCodeLabelEnumJsonSerializer를 추가안해도 Board 클래스에 boardType(enum) 추가 만해도 json에 출력이 되는데요.
그런데 출력 되는 값은 오로지 boardType의 value 즉 name() 값만 출력이 됩니다.
boardType에 label 추가하였었는데요.
NOTICE, FAQ, INQUIRY 값은 코드 형태의 값이므로 사용자에게 안보이는 뒷단에서 관리되는 값이며,
label에 공지사항, 자주묻는질문, 1:1문의는 실질적으로 사용자에게 보이는 텍스트 문구 입니다.
실제로 화면기능을 구현하다보면 목록조회, 상세조회에는 코드값이 아닌 텍스트 문구가 대부분 사용되는경우에 이방법을 사용하면 간단히 사용할 수 있다는 용도로 해당 영상에 사용된거에요. ^^
만약 이부분이 DB로 관리하게되면 코드의 이름을 가져오기 위해 JOIN 을 통하여 가져와야 하는데 불필요한 쿼리가 생기게 됩니다.
하지만 enum을 활용한다면 쉽고 빠르게 할 수 있는 부분입니다.
2강 Board.xml에 만들 때 오류를 어떻게 해결해야 하나
0
8833
1
E03 Swagger 설치 + 게시판 API 문서화
0
385
0
E04 참고
0
347
1
3강 Swagger 컴파일 에러
0
580
0
API 연동에 필요한 프로퍼티 관리와 사용방법에서 facebook.properties도 추가하려면 코드를 어떻게 작성해야 하나요?
0
251
0
용두사미
1
442
0
스웨거시 컴파일 에러는 안나는데 실행하면 에러가 나네요?
0
395
1
됐다가 안됐다가 쩝!
0
410
0
강의가 안됩니다.
0
763
0
마리아디비
0
309
0
application.properties
0
306
0
spring boot version
0
371
1
부트 로그인 화면
0
351
0
logger.info 질문입니다
0
467
1
강사님. 코드관련 질문드립니다.
0
427
1
컨텐츠가 2개로 나오는데 어느부분을 확인해야할까요?
0
350
0
강의 질문드립니다 [ApplicationContext]
0
482
1
아무리해봐도 해결이되지않네요 ㅠ
0
509
1
레포지토리 검색을 못한다네요 ㅠㅠ
0
6707
1
2강에 setMapperLocations 에 에러
0
814
1
주석 단축키가 뭔가요
0
582
1
E03 영상 관련.
0
383
1
질문드립니다
0
393
1
1
0
180
0





