Jersey 2.0으로 개발하는 RESTful 웹 서비스
- 원서명Developing RESTful Web Services with Jersey 2.0 (ISBN 9781783288298)
- 지은이수닐 굴라바니
- 옮긴이윤창석
- ISBN : 9788960775343
- 12,000원
- 2014년 03월 21일 펴냄 (절판)
- 페이퍼백 | 128쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
이 책은 저지(Jersey)의 API를 활용해 레스트풀(RESTful) 웹 서비스를 개발하는 방법을 설명한다. 저지는 레스트풀 서비스를 위한 자바의 표준 API인 JAX-RS 2.0(JSR 399)의 참조 구현으로, 강경한 레스트풀 웹 서비스를 효과적으로 구축할 수 있게 해준다. 이 책은 풍부한 예제와 바탕으로 저지의 활용에 필수적인 사항에 집중하고 있기 때문에, 쉽고 빠르게 저지의 API를 익히고 레스트풀 서비스를 구현할 수 있는 훌륭한 지침서가 될 것이다.
이 책에서 다루는 내용
■ 여러 HTTP 메소드와 *Param 애노테이션을 활용해 웹 서비스를 구현하는 방법
■ 리소스와 서브리소스 메소드를 생성하는 방법
■ 루트리소스 클래스의 주입 규칙과 범위
■ 애플리케이션의 다양한 배포 프로세스
■ 여러 HTTP 메소드와 *Param 애노테이션으로 웹 서비스를 사용하는 방법
■ 여러 미디어 표현(JSON, XML, 다중 구성)
■ WADL 명세 생성
이 책의 대상 독자
이 책은 REST 아키텍처로 애플리케이션을 구축하는 자바EE 개발자를 위한 책이다. 또한 JAX-RS 2.0을 빠르게 학습할 수 있는 가이드로서, 독자는 반드시 레스트풀 웹 서비스를 알아야 하지만, JAX-RS 1.0에 관해서는 몰라도 상관 없다.
이 책의 구성
1장 '시작하기'에선 클라이언트 API, 필터(filter)와 인터셉터(interceptor), 클라이언트 측과 서버 측의 비동기성 같은 JAX-RS 2.0에 추가된 새로운 기능을 간략히 살펴본다. 또한, JAX-RS 2.0을 구현하기 위해 사용한 모듈과 의존성 목록 같은 중요 내용도 함께 다룬다.
2장 '서버 API'에선 리소스 클래스와 메소드를 만드는 방법, 사용자 정의 값에 접근하기 위한 파라미터 애노테이션의 사용법, 리소스 메소드를 사용하기 위한 서브리소스에 관해 알아본다. 루트리소스 클래스에 접근할 수 있을 때가 언젠지 살펴보고, 값에 접근하기 위해 경로 애노테이션을 주입하는 규칙을 알아본다. 마지막으로 Application 모델 또는 ResourceConfig를 사용하는 방법이나 Application 모델을 사용하지 않는 방법 등 리소스 클래스를 불러오는 여러 방법을 배운다.
3장 '클라이언트 API'에선 JAX-RS 클라이언트 API를 통해 레스트풀 웹 서비스를 사용하는 방법을 보여준다. 클라이언트 API를 통해 모든 CRUD 동작을 수행할 수 있도록 여러 HTTP 헤더와 *Param 애노테이션으로 웹 서비스를 호출하는 방법을 다룬다. JAX-RS는 HTTP의 래퍼(wrapper) 클래스기 때문에 HTTP 프로토콜에 기반한 모든 웹 서비스에 사용할 수 있다. JAX-RS 클라이언트 API는 REST 아키텍처가 구현하는 균일성을 따른다.
4장 '공통 미디어 타입 표현'에선 데이터의 다양한 표현을 다룬다. 데이터 표현은 모든 애플리케이션의 최우선 결정 사항이다. 웹 서비스를 사용할 클라이언트에 기반해 올바른 표현을 결정해야 한다. 또한, 서버 측과 클라이언트 측에서 여러 표현을 구현하는 방식을 살펴본다.
5장 '서버 발송 이벤트(SSE)'에선 클라이언트/서버 사이에 연결을 만드는 방법과 서버단에서 연결을 관리하는 방법을 다룬다. 이는 클라이언트가 새로운 요청을 시작하지 않고 서버에서 클라이언트로 데이터를 푸시하기 위해 필요하다. 이런 유형의 방식은 기본적으로 채팅이나 주식 시장, 실시간 데이터 제공 애플리케이션 등에서 사용된다.
6장 'WADL'에선 배포된 레스트풀 웹 서비스의 골격을 나타내는 웹 애플리케이션 기술 언어(WADL)를 알아본다.
목차
목차
- 1장. 시작하기
- ___JAX-RS 2.0이란 무엇인가?
- ______JAX-RS 2.0의 기능
- ___JAX-RS 아티펙트의 사용 및 재사용 편의성
- ___모듈과 의존성
- ___새로운 프로젝트 생성하기
- ___요약
- 2장. 서버 API
- ___루트리소스 클래스
- ___@Path
- ______정규 표현식과 함께 사용되는 @Path
- ___HTTP 메소드
- ______@GET
- ______@PUT
- ______@POST
- ______@DELETE
- ______@Produces
- ______@Consumers
- ___파라미터 애노테이션
- ______@PathParam
- ______@QueryParam
- ______@DefaultValue
- ______@MatrixParam
- ______@HeaderParam
- ______@CookieParam
- ______@FormParam
- ______@BeanParam
- ___서브리소스
- ___루트리소스 클래스의 범위
- ___주입 규칙
- ___레스트풀 웹 서비스 배포하기
- ___요약
- 3장. 클라이언트 API
- ___클라이언트를 통해 웹 서비스 사용하기
- ______get 메소드
- ______post 메소드
- ______put 메소드
- ______delete 메소드
- ______경로 파라미터
- ______쿼리 파라미터
- ______쿠키 파라미터
- ______매트릭스 파라미터
- ______빈 파라미터
- ______@Produces 애노테이션
- ______@Consumes 애노테이션
- ___Invocation.Builder 사용하기
- ______새로운 표현에 관한 지원을 추가하기
- ______클라이언트 전송 커넥터
- ______클라이언트 보안
- ___요약
- 4장. 공통 미디어 타입 표현
- ___JSON
- ______MOXy
- _________ResourceConfig 클래스 사용하기
- ______JSON 처리를 위한 자바 API (JSON-P)
- ______잭슨
- ______제티슨
- ___XML
- ______하위 수준 XML 지원
- ______JAXB 지원
- ______POJO
- ___다중 구성
- ___요약
- 5장. 서버 발송 이벤트 (SSE)
- ___시작하기
- ___서버 발송 이벤트 구현하기
- ______SSE 이벤트 사용하기
- ______풀 모델 (EventInput을 사용)
- ______푸시 모델 (EventSource 사용)
- ___요약
- 6장. WADL
- ___시작하기
- ___구성
- ___요약