Java 의 Restful Web Services Tutorial 에 오신 것을 환영합니다. REST 는 REpresentational State Transfer 의 약어입니다. REST 는 네트워크를 통해 액세스 할 수있는 응용 프로그램을 개발하기위한 아키텍처 스타일입니다. REST architectural style 은 2000 년 박사 학위 논문에서 Roy Fielding 에 의해 빛을 발했습니다.
편안한 웹 서비스가
편안한 웹 서비스에는 무국적자는 클라이언트-서버는 웹 서비스는 리소스와여 식별할 수 있습니다 그들의 Uri 가 있습니다.,
나머지는 클라이언트 응용 프로그램이 사용할 수 있는 HTTP GET/POST 방법을 호출하는 편안한 웹 서비스를 사용하고 있습니다. REST 는 사용할 특정 프로토콜을 지정하지 않지만 거의 모든 경우에 HTTP/HTTPS 를 통해 사용됩니다. 비누 웹 서비스와 비교할 때,이들은 경량이며 어떤 표준도 따르지 않습니다. 요청 및 응답을 위해 XML,JSON,텍스트 또는 기타 유형의 데이터를 사용할 수 있습니다.
Java RESTful Web Services API
RESTful Web Services 용 Java API(JAX-RS)는 REST web services 를 만들기위한 Java API 입니다., JAX-RS 는 주석을 사용하여 웹 서비스의 개발 및 배포를 단순화합니다. JAX-RS 는 JDK 의 일부이므로 주석을 사용하기 위해 아무 것도 포함 할 필요가 없습니다.
Restful 웹서비스 주석
몇몇의 중요한 JAX-RS 주석:
@Path
:을 지정하는 데 사용되는 상대적인 경로의 클래스와 방법을 마련하고 있습니다. 경로 주석 값을 스캔하여 웹 서비스의 URI 를 얻을 수 있습니다.,@GET
,@PUT
,@POST
,@DELETE
및@HEAD
:사용을 지정하는 HTTP 요청 유형에 대한 방법입니다.@Produces
,@Consumes
:를 지정하는 데 사용된 요청 및 응답 형식입니다.@PathParam
:메서드 매개 변수를 구문 분석하여 경로 값에 바인딩하는 데 사용됩니다.
Restful 웹 서비스 및 SOAP
- SOAP 은 프로토콜이지만 REST 는 아키텍처 스타일입니다.,
- SOAP 서버 및 클라이언트 응용 프로그램은 wsdl 계약과 긴밀하게 결합되어 결합되는 반면 REST 웹 서비스 및 클라이언트에는 계약이 없습니다.
- Soap 웹 서비스와 비교할 때 학습 곡선은 휴식을 취하기 쉽습니다.
- REST 웹 서비스 요청 및 응답 유형은 XML,JSON,텍스트 등이 될 수 있습니다. 반면 SOAP 는 XML 에서만 작동합니다.
- JAX-RS 는 REST 웹 서비스의 Java API 인 반면 JAX-WS 는 SOAP 웹 서비스의 Java API 입니다.
REST API 구현
JAX-RS API 의 두 가지 주요 구현이 있습니다.,
- Jersey:Jersey 는 Sun 이 제공하는 참조 구현입니다. Jersey 를 JAX-RS 구현으로 사용하기 위해 웹에서 서블릿을 구성하기 만하면됩니다.xml 및 필요한 종속성을 추가합니다. JAX-RS API 는 Jersey 가 아닌 JDK 의 일부이므로 응용 프로그램에 종속성 항아리를 추가해야합니다.
- RESTEasy:RESTEasy 는 JAX-RS 구현을 제공하는 JBoss 프로젝트입니다.
Java Restful Web Services Tutorial
Jersey 를 사용하여 Restful web service 를 만든 다음 RESTEasy 를 사용하는 것이 얼마나 쉬운 지 살펴 보겠습니다., 우리는 HTTP 를 통해 다음과 같은 방법을 노출하고 Chrome Postman 확장을 사용하여 이들을 테스트 할 것입니다.,d>
저지 편안한 웹 서비스가
다이나믹한 웹사 프로젝트 후 변환 Maven 의 골격을 얻을 수의 웹 서비스 프로젝트입니다., 아래 이미지는 최종 프로젝트의 프로젝트 구조를 보여줍니다.
우리가 pom 에서 가지고있는 저지 종속성을 살펴 보겠습니다.xml 파일.
우리는 jersey-client 종속성을 추가 할 필요는 없지만 Jersey 를 사용하여 REST 웹 서비스를 호출하는 java 프로그램을 작성하는 경우 필요합니다.
이제 웹 응용 프로그램을 만들기 위해 Jersey 를 구성하는 방법을 배우기 위해 배포 설명자를 살펴 보겠습니다.
그게 다 우리의 웹 응용 프로그램에 저지를 플러그인하는 데 필요합니다,우리의 자바 코드에서 우리는 JAX-RS 주석을 사용합니다., Init 매개 변수com.sun.jersey.config.property.packages
의 값을 참고하여 웹 서비스 리소스 및 메서드를 검사할 패키지를 제공합니다.
나머지를 들어 모델 수업
첫 번째의 모든 것을 만들 두 가지 모델 콩Person
응용 프로그램에 대한 데이터는Response
보내는 응답을 클라이언트 시스템이다. 우리는 XML 응답을 보낼 것이므로 bean 은@XmlRootElement
로 주석을 달아야하므로이 클래스가 있습니다.,
REST Web Services Tutorial Services
URI 구조를 기반으로 아래는 서비스 인터페이스이며 구현 코드입니다.웹 서비스 테스트를 수행하려면 어떻게해야합니까? 우리의 웹 서비스에 준비가 완료되면,바로 내보내 전쟁 파일 안에 넣어 Tomcat 웹 어플리케이션 디렉토리 또는 배포로 다른 컨테이너의 선택입니다.
아래는이 웹 서비스를 위해 Postman chrome 확장 프로그램을 사용하여 수행 된 테스트 중 일부입니다. 아래 이미지와 같이 요청 헤더에 Accept 및 Content-Type 값을”application/xml”으로 제공해야한다는 점에 유의하십시오.,
- getDummy
- 추가
- 얻을
- getAll
- 삭제
의 모든 웹을 만들기 위한 서비스를 사용하 저지 JAX-RS 구현합니다. 보시다시피 대부분의 코드는 JAX-RS 주석을 사용하고 있으며 jersey 는 배포 설명자와 종속성을 통해 연결되어 있습니다.,
RESTEasy 편안한 웹 서비스를 들어
우리가 사용하는 모든 비즈니스 로직 개발되지 프로젝트를 변경하기보다는 같은 프로젝트가 새로운 프로젝트입니다. 동적 웹 프로젝트를 만들고 메이븐 프로젝트로 변환하십시오. 그런 다음 Person,Response,PersonService 및 PersonServiceImpl 의 모든 java 클래스를 복사하십시오. 아래는 모든 변경 사항을 완료 한 후 최종 프로젝트입니다.나는 이것이 어떻게 작동하는지 잘 모르겠습니다.xml 파일.다음은 웹입니다.우리가 resteasy 서블릿을 구성하는 xml 파일.,
통 init-param 가 제공하는MyApp
클래스로 가치,여기서 우리는 확장을javax.ws.rs.core.Application
클래스로 아래와 같습니다.웹 서비스 테스트를 수행하려면 어떻게해야합니까? 우리의 웹 서비스는 RESTEasy JAX-RS 구현 준비가되었습니다. 다음은 우편 배달부 크롬 확장 테스트에서 출력 중 일부입니다.,
- getDummy
- 추가
- 얻을
는 모든 위한 편안한 웹 서비스,튜토리얼 나는 당신이에 대해 배운 JAX-RS 특수효과와 이해의 혜택 API 표준을 준비할 수 있도록 도움을 주었 재사용하는 코드에서 이동하 저지를 RESTEasy 그렇게 쉽습니다.나는 이것이 내가 할 수있는 유일한 방법이라고 생각한다.