2012-07-11 3 views
3

Spring-data-rest은 현재 RC1 (GA 7 월 16 일)이지만 문서는 아직 약간의 스케치가 있습니다. 지금까지 내가 찾은 모든 예제 코드는 JSON을 기본으로하는 응답을 표시하지만 XML이 필요하고 ACCEPT 헤더를 기반으로하는 XML 또는 JSON이 이상적입니다. some comments in a DZone link에 XML이 지원 될 것임을 나타내는 소스가 하나 있습니다. 그러나 그것은 RC1 이전의 M2 릴리스에서 게시되었습니다. 프로젝트 밑에있는 이슈들에서도 아무 것도 보지 못합니다.JSON 대신 XML로 응답을 반환하려면 Spring-Data-Rest를 사용하십시오.

그렇다면 RC1 (또는 SNAPSHOT)에서 JSON 대신 또는 JSN을 생성하는 방법을 알고있는 사람도 있습니다.

답변

2

Spring Data REST에서 XML을 쉽게 만들 수 있기를 바란다. 아직 찾지 못했다. JSON은 객체를 전송하기위한 쉽고 가벼운 "프로토콜"이라고 생각했기 때문에 기본적으로 JSON을 사용했으며 대부분의 경우에 충분히 작동합니다. 내가 XML에서 개체를 표현하려면 어떻게

  • :

    우리가 합리적인 해답을 발견하지 않았습니다 XML 문제의 몇 가지입니까? 속성 이름을 요소 이름으로 사용합니까? 아니면 표준 요소 이름을 사용하고 속성에 속성 이름을 추가합니까?

  • 어디에서 속성의 유형을 식별 할 수 있습니까 (복잡한 지 또는 단순한 지 여부, Long, BigInteger 또는 무엇이 있습니까)?
  • 모든 사용자 정의 매핑 정보를 제거하고 JAXB 또는 Spring OXM 만 사용합니까?
  • 링크에 대해 어떻게해야합니까? Atom 네임 스페이스 링크 요소를 사용합니까?
  • 내가 Atom을 이미 사용하고 있다면, 모든 것에 대해 Atom 표현을 사용하지 않는 이유는 무엇입니까?

이 질문에 답하는 것은 프로젝트가 새로 시작한 이래로 우리가했던 것보다 더 많은 커뮤니티 입력을 필요로하기 때문에 XML 지원을 추가하기 위해 1.0 이후 버전이 나올 때까지 기다릴 것이라고 생각했습니다. 그 방향으로 추진력이 충분하다면 우선 순위가 분명히 바뀔 수 있지만, 다음 주에는 그 일이 일어나지 않을 것입니다.

원하는 모든 종류의 응답을 생성 할 수있는 몇 가지 기계류가 있습니다 (이는 결국 스프링 MVC 응용 프로그램입니다). 최신 스냅 샷을 사용하고 the RepositoryRestMvcConfiguration.contentNegotiatingViewResolver() method을 덮어 쓰면 수출 업체에서 나오는 DTO와 완전히 다른 표현을 제공 할 수 있습니다. 이를 in the wiki이라고합니다. 내부적으로 DTO가 어떻게 생겼는지에 대해 필요한 세부 정보를 얻으려면 the source code of JsonView을 확인해야하지만 JsonViewMyOwnXmlView으로 대체하는 것이 상대적으로 쉽습니다.

참고 : 이것은 현재 버전의 REST 내보내기 프로그램에서만 작동합니다. GA 버전은 출력물을 렌더링하는 데 사용되는 기계가 다릅니다. 내가 원하는대로 출력 렌더링을 수행하기 위해 후크를 제공 할 것이므로 구성에 대한 속성을 설정하여 출력 렌더링을 무시할 수 있어야합니다. 이 버전에 대해 View 하위 클래스를 만드는 경우 GA 버전의 경우 HttpMessageConverter으로 변경해야합니다.

+0

, BTW는 JSON 인터페이스는 지금은 받아 들일 수 있다고 밝혀졌습니다. 그러나 당신은 큰 대답을했습니다. –

1

우리가 이것을 달성 할 수있는 최신 스프링 IO 플랫폼과 우리는 IO 플랫폼 인 도 버전에 대해 걱정할 필요가 없습니다.

은 다음과 같이 다른 스택 오버플로 링크를 달성하는 방법을 게시 한 :

Spring Boot REST with XML Support

관련 문제