RestController를 사용하여 하나의 리소스를 노출하는 스프링 부트 응용 프로그램을 작성하고 있습니다.라이브러리의 사용자 정의 잭슨 직렬화
String id; String title; List<String> tags; ComplexGraphObject gObject;
내가 필요한 곳 G 객체와 해당 필드 MainResource과에 대한 DTO들을 쓴이 작품을 만들려면 : 유일한 자원, MainResource,이 같은 것입니다. 필자는 DTO에 Jackson의 주석을 달고 도메인 모델을 반환하는 DTO-Mappers를 작성했습니다. Spring은 DTO에 대한 요청을 직렬화하고 응용 프로그램 서비스는 도메인 객체에 대한 DTO-Mappers를 호출합니다.
이제 클라이언트 및 서버 응용 프로그램에 gObject를 사용하고자하므로 gObject가 자체 라이브러리 여야한다는 것을 알았습니다.
내 목표는 :
- 라이브러리는 JSON/XML로 직렬화 gObjects을 가지고 도메인 개체를 반환해야합니다. 뭔가를 사용할 수있는 다른 응용 프로그램을위한 편리한 방법을 제공 직렬화 된 JSON을 도메인 gObjects을 반환해야
- 라이브러리/XML은
- 예를
- 을위한 봄 부팅과 같은 라이브러리와 가능한 한 원활하게 작동하도록 이미 잭슨을 사용하는 응용 프로그램을 사용 예를 들어 gson처럼
사용자 정의 jackson de/serializer를 읽은 것부터 시작하는 방법입니다. 하지만 사용자 정의 serializer, ObjectMapper, MixIns 등에서는 어떻게해야하는지 모릅니다.
편집 : mixins 목적은 내 DTO가하는 일이라고 생각하며, DTO-Mapper는 맞춤/직렬 변환기가 수행해야하는 작업을 수행하고 있습니다. 둘을 섞을 수있는 방법이 있습니까?
편집 : 중요한 부분을 깜빡했습니다. DTO-Mapper는 그래프의 각 노드에서 필요한 관계를 나타내는 행렬뿐만 아니라 DTO에서 도메인 객체를 생성하므로 적절하게 연결될 수 있습니다. 그래서 나는 custom serializer에서 그렇게 할 필요가 있다고 생각한다.
답변 해 주셔서 감사합니다. 이것이 제가 지향하는 방향이라고 생각합니다. 그래서 당신은 제 접근 방식을 강화하고 있습니다. 어렴풋한 문제는 XML을 생성하는 것입니다. 주석은 속성과 같은 속성을 설정하는 유일한 방법입니다. 어딘가에서 믹스 인이 필요할 것 같아요. – jam01