programing tip

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

itbloger 2020. 7. 20. 07:49
반응형

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


스프링 4.0.6 버전으로 새로운 응용 프로그램을 만들 계획입니다. "XML"또는 "JSON"을 반환 할 수있는 컨트롤러를 사용합니다. 이전 프로젝트에서 우리는 JAX-RS API를 사용하여 Jersey에 Spring for REST 지원을 성공적으로 구현했지만, 노인들로부터 몇 가지 기사와 제안을 읽은 후 봄은 꽤 좋은 REST 지원을 제공한다고 말했다.

JAX-RS와 Jersey를 사용하지 않고 Spring REST 지원을 사용하면 실제로 혼란 스러웠던 점 중 일부는 다음과 같습니다.

  1. Spring MVC에서 마샬링 및 비 정렬 화는 어떻게 이루어 집니까?

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

  3. 마샬링 및 비 정렬 화가 봄에 의해 자동으로 처리되면 xmlRootElements에 대해 어떻게 알 수 있습니까?

Spring이 REST에 대한 훌륭한 지원을 입증한다면 여전히 혼란 스럽습니다. 왜 사람들은 여전히 ​​Jersey로 REST를 사용합니까? 자세한 내용을 알고 싶습니다.

내가 잘못 말하면 무시하십시오. 예를 들어 설명하면 정말 도움이됩니다.

미리 감사드립니다 !!


Jersey와 Spring MVC는 훌륭합니다. 각 프로젝트에는 고유 한 스타일과 장점이 있습니다. 어쨌든 스택 오버플로는 주관적인 비교를 요구하기에 적합한 장소가 아닙니다 (질문은 매우 빨리 닫힙니다). 이미 다른 모든 용도로 Spring을 사용 하고 있고 JAX-RS를 사용할 필요 가없는 경우 Spring MVC가 적합합니다.

(언) 마샬링과 같은 기능과 관련하여 JAX-RS는 스펙입니다. 다른 라이브러리는 동일한 API를 구현하지 않고도 유사한 기능을 제공 할 수 있습니다.

  1. MessageBodyReaders / Writers 대신 Spring MVC는 HttpMessageConverters사용하여 정렬 해제 REST 리소스를 처리합니다. Spring MVC는 컨텐츠 협상을 처리하고 해당 작업에 가장 적합한 변환기를 선택합니다 (메소드가 생성 / 소비하는 미디어 유형을 암시하는 메소드에 주석을 달 수 있습니다).

  2. JAX-RS를 사용하여 모든 자원을 마샬링 할 필요는 없습니다. 실제로 JAX-RS 구현과 Spring MVC는 타사 직렬화 라이브러리를 사용하여 작업을 수행합니다. 특정 표준에 묶여 있지 않습니다.

  3. 4.0.6 버전에서 Spring은 JSON 용 Jackson, XML 용 JAXB 등 많은 HttpMessageConverters를 지원 합니다. Spring 4.1.0은 더 많은 HttpMessageConverters를 추가했습니다 .

마지막 요점 @XmlRootElement은 JAXB 주석이며 JAX-RS의 일부가 아닙니다. Spring은 JAXB를 지원합니다 .

Spring에서 REST를 사용하는보다 완전한 예제는 이 시작 안내서를 확인하십시오 (10-15 분 내에 실행되는 완전한 예제를 얻을 수 있습니다).

질문의 마지막 부분은 매우 주관적입니다. Jersey와 Spring (Dropwizard, Play! Framework 등)뿐만 아니라 JVM에서 REST 서비스를 빌드하는 데 널리 사용되는 솔루션이 많이 있습니다.


AFAIK Spring REST 지원은 Spring MVC를 기반으로하며 JAX-RS 구현이 아닌 반면 Jersey는 JAX-RS 사양을 구현했습니다. 프로젝트에 Spring (Core, AOP 또는 MVC)이있는 사용자는 JAX-RS 구현 자보다 Spring ReST 지원을 선택합니다.

나는 Jersey를 성숙하게 추천하고 JAX-RS를 구현하며 사용하기 쉽습니다.

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

반응형