itsource

REST 웹 서비스를 위한 Spring 4 vs Jersey

mycopycode 2022. 9. 30. 11:09
반응형

REST 웹 서비스를 위한 Spring 4 vs Jersey

우리는 봄 4.0.6 버전으로 새로운 애플리케이션을 만들 예정입니다."XML" 또는 "JSON"을 반환할 수 있는 컨트롤러를 사용합니다.이전 프로젝트에서는 JAX-RS API를 사용하여 Jersey with Spring for REST support를 성공적으로 구현했습니다만, 선배들의 기사나 제안을 읽어본 결과, 봄은 꽤 좋은 REST 지원을 제공하고 있다고 합니다.

JAX-RS 및 Jersey를 사용하지 않고 Spring REST 지원을 사용할 경우 매우 혼란스러운 점은 다음과 같습니다.

  1. 봄 MVC에서는 어떻게 마샬링과 언마샬링이 이루어졌습니까?

  2. 마샬링 또는 마샬링 해제에 jax-rs를 사용해야 합니까?

  3. 마샬링 및 마샬링 해제가 봄까지 자동으로 처리되는 경우 xmlRootElements에 대해 어떻게 알 수 있습니까?

나는 아직도 봄의 REST에 대한 좋은 지원이 입증된다면 왜 사람들은 여전히 Jersey로 REST를 가는가?좀 더 자세히 알고 싶습니다.

제가 무슨 말을 잘못해도 무시하세요.예를 들어 설명하는 것은 매우 도움이 됩니다.

잘 부탁드립니다!!

Jersey와 Spring MVC는 모두 훌륭하다고 생각합니다.각 프로젝트에는 독자적인 스타일과 강점이 있습니다.어쨌든 Stack Overflow는 주관적인 비교 질문에는 적합하지 않습니다(질문은 금방 종료됩니다).이미 스프링을 사용하고 있고 JAX-RS를 사용할 필요가 없다면 스프링 MVC를 사용하는 것이 좋습니다.

(un) marshalling과 같은 기능에 관해서는 JAX-RS는 사양에 불과합니다.다른 라이브러리는 동일한 API를 구현하지 않고도 유사한 기능을 제공할 수 있습니다.

  1. Spring MVC는 MessageBodyReaders/Writer 대신 HttpMessageConverters를 사용하여 Marshalling REST 리소스를 처리(un)하고 있습니다.Spring MVC는 콘텐츠네고시에이션을 처리하여 작업에 가장 적합한 컨버터를 선택합니다(메서드에 주석을 달아 어떤 미디어 유형을 생성/소비하는지 힌트할 수 있습니다).

  2. 아니요, 리소스를 Marshall(unshall)하기 위해 JAX-RS를 사용할 필요는 없습니다.실제로 JAX-RS 구현 및 Spring MVC는 서드파티제의 시리얼라이제이션 라이브러리를 사용하여 작업을 수행합니다.따라서 특정 표준에 얽매이지 않습니다.

  3. Spring은 4.0.6 버전에서 JSON용 잭슨, XML용 JAXB 등 많은 Http Message Converters를 지원합니다.Spring 4.1.0에서는 Http Message Converters가 추가되었습니다.

당신의 마지막 요점에 답하자면,@XmlRootElement는 JAXB 주석이며 JAX-RS의 일부가 아닙니다.스프링은 JAXB를 지원합니다.

봄의 REST에 관한 보다 완전한 예에 대해서는, 이 스타트 업 가이드를 참조해 주세요(10~15분 후에 실행 가능한 완전한 예제를 보실 수 있습니다.

질문의 마지막 부분은 매우 주관적입니다. Jersey와 Spring(Dropwizard, Play!)뿐만 아니라 JVM에 REST 서비스를 구축하기 위한 많은 인기 솔루션이 있습니다.프레임워크 등)

AFAIK Spring REST 지원은 Jersey가 JAX-RS 사양을 구현한 반면 Spring MVC 및 JAX-RS 구현이 아닌 기반입니다.프로젝트에 Spring(Core, AOP 또는 MVC)이 있는 고객은 JAX-RS 구현업체보다 Spring ReST 지원을 선택합니다.

JAX-RS를 탑재한 성숙하고 사용하기 쉬운 저지를 추천합니다.

언급URL : https://stackoverflow.com/questions/26305363/spring-4-vs-jersey-for-rest-web-services

반응형