이 질문의 반대쪽 : How do I add a type to GWT's Serialization Policy whitelist?GWT의 직렬화 정책에서 구현 유형을 제거하려면 어떻게해야합니까?
GWT는 직렬화 정책에 원하지 않는 유형을 추가하고 JS를 부풀려합니다. 직접 GWT 화이트리스트를 손으로 다듬을 수 있습니까? 아니면 내가해야 하나?
예를 들어 인터페이스 목록을 GWT RPC 서비스 클래스에 추가하면 GWT는 ArrayList, LinkedList, Stack, Vector 등의 자바를 생성해야합니다. ArrayList를 돌려줍니다. 메서드의 반환 형식 ArrayList를 만들 수는 있지만 특정 구현보다는 인터페이스에 의존하는 것이 좋습니다. 어쩌면 언젠가 우리는 그것을 바꾸고 돌아올 것입니다. LinkedList. 이 경우 GWT serialization 정책을 ArrayList 및 LinkedList 만 컴파일하도록하고 싶습니다. 아니 스택이나 벡터.
이러한 암묵적인 제한 사항에는 내가 생각할 수있는 하나의 큰 단점이 있습니다. 팀의 새 구성원이 벡터를 반환하기 시작합니다. 런타임 오류가 발생합니다. 따라서 제목의 질문 외에도이 문제를 해결할 수있는 경험은 무엇입니까?
디자인 목표는 무엇입니까? 보안? 공연? –
성능, 한마디로 : 지금 JS의 크기를 줄이려면. RPC를 통해 Set와 Maps를 보내기 시작하면 또 하나의 클래스 폭발이 일어납니다.다른 목표는 최상의 코딩 방법을 유지하는 것입니다. 내가 볼 수없는 보안 문제가있는 경우 알려 주시기 바랍니다. – Bluu
아주 간단한 해결책이있는 것 같습니다. 분명히 당신은 당신이 그것을 진술 한 것처럼 그것이 무엇인지를 압니다. 왜 GWT를 바꾸려고 노력하는 데 많은 어려움을 겪고 있습니까? 바보 같아. 앞으로 LinkedList를 반환해야한다면 인터페이스로 변경할 수 있습니다. 나는 당신의 디자인 목표가 퍼포먼스라면, 리턴 타입을 ArrayList로 변경하고 그것으로 끝낼 것이라고 생각한다. 내 2 센트. –