이 나머지 API는 사용자의 요구를 충족 하지 않는, 새로운 나머지 웹 서비스 추가 됩니다. 이 문서에서는 설명 합니다 사용자 지정 된 나머지 웹 IBM http://www.aliyun.com/zixun/aggregation/13696.html를 추가 하는 방법 "> 기존 코드를 수정 하지 않고 smartcloud 항목" 서비스입니다.
대신 건물 벽돌, IBM SmartCloud 항목에서에서 REST 웹 서비스 자체는 여러 가지 도구. 시작 하기 전에 다음 명사의 몇 가지 지식을 해야 합니다.
나머지: 전체 이름은 표현 상태 전송. 그것은 경량, 쉬운 구축, 웹 서비스 스타일 상태 비저장 이며 전통적인 웹 서비스 (SOAP 기반)에 비해 HTTP 프로토콜을 사용 하 여. 잭 스-rs: 전체 이름은 RESTful 웹 서비스, Java 프로그래밍 언어 응용 프로그램 인터페이스에 대 한 Java TM API입니다. Restful 웹 서비스를 만들기 위한 지원을 제공 합니다. 주석이 Java SE 5 (주석)에서 도입, jax-rs 웹 서비스를 배포 하는 과정을 단순화할 수 있습니다. Restlet: 2005 년생, Java 언어 개발자를 위한 오픈 소스 프로젝트가입니다. Restlet은 개발자는 간단한 방법으로 다양 한 시나리오에서 REST 웹 서비스를 구현 하는 방법을 제공 하도록 설계 되었습니다. Restlet jax-rs의 탄생 전에 오랫동안 존재 했다, Restlet 여전히 jax-rs에 대 한 지원을 제공 합니다. Restlet의 최신 안정 버전 2.1.1, 이며이 문서에서 모든 것은 Restlet 2.1 기반. OSGi: 전체 이름, 오픈 서비스 게이트웨이 이니셔티브, 일반적으로 데스크톱 응용 프로그램, 웹 응용 프로그램, 모바일 응용 프로그램 및 미들웨어를 포함 하는 완전 모듈형 시스템 프레임 워크도 간주 되었습니다. 모듈형 동적 서비스 지향 응용 프로그램을 개발 하는 데 사용할 수 있는 기본 인프라를 제공 합니다.
Restlet jax-rs 실현
2.1.1 Restlet는 Restlet 두 부분으로 나눌 수 있습니다.
나머지 응용 프로그램 개발 핵심: Restlet Api 포함 및 Restlet 엔진 확장: 서블릿과 jax-rs
등 다양 한 기술을 지원 하기 위해 포함 Restlet 확장
Restlet의 작은 이해만 Restlet의 핵심으로 나머지 웹 API를 구현할 수 있다는 것이 알다시피. IBM SmartCloud 항목 jax-rs를 사용 하 여 나머지 리소스를 정의 하 고 나머지 자원과 jax-rs Restlet Restlet 확장 엔진을 연결 하 여 나머지 웹 API를 구현 합니다. 장점과 이러한 두 가지 방법의 단점에 대 한 할 반복 하지 여기, 당신은 인터넷에 지침을 찾을 수 있습니다. 다음은 IBM SmartCloud 항목을 구현 하는 방법에 대 한 간략 한 개요입니다.
1을 목록입니다. Restlet jax-rs 응용 프로그램 연결
패키지 Com.developerworks.rest.test;import Org.restlet.component;import Org.restlet.ext.jaxrs.jaxrsapplication;import Javax.ws.rs.core.application;public 클래스를 확장 하는 TestComponent 구성 요소 {공용 정적 응용 프로그램 jaxrsapplication, 공공 testcomponent () {슈퍼 (); //Create jax-rs 런타임 최종 Jaxrs 응용 프로그램 = 새로운 Jaxrsapplication (GetContext (). Createchildcontext ()); Jax-rs 런타임에 Application.add (jaxrsapplication); jax-rs 응용 프로그램 추가 JAX-RS 런타임 구성 요소 getdefaulthost ()에 추가 해야 합니다. 연결 (응용 프로그램); }}
목록 1에는 jax-rs Restlet 확장명이 Restlet JAX-RS 응용 프로그램을 연결 하는 방법을 보여 줍니다.
나머지 웹 API 서블릿 컨테이너에 배포
IBM SmartCloud 항목은 OSGi의 핵심 프레임 워크와 건설과 OSGi 임베디드 Jetty 서블릿 컨테이너 사용 이다. 목록 2 어디 우리가 서블릿에 Restlet 확장명을 사용 하는 서블릿 컨테이너에 Restlet 구성 요소를 배포 하는 방법을 보여 줍니다.
2를 목록입니다. Restlet 컴포넌트는 서블릿 컨테이너에 배포
패키지 Com.developerworks.rest.test;import Java.util.properties;import Javax.ws.rs.ext.runtimedelegate;import Org.osgi.service.http.httpcontext;import Org.osgi.service.http.httpservice;import Org.restlet.engine.Engine; 가져오기 Org.restlet.ext.jaxrs.internal.spi.runtimedelegateimpl;import Org.restlet.ext.servlet.ServerServlet; 공용 클래스 Testapiwhiteboard {정적 {engine.getinstance (). Setuserclassloader (TestComponent.class.getClassLoader ()); 개인 Httpservice http; 나머지 웹 서비스 공용 void 시작 ()를 시작 하려면이 함수를 호출 {Serverservlet serverservlet = 새로운 Serverservlet (); InitParams 속성 = 새로운 속성 (); Initparams.put ("Org.restlet.component", TestComponent.class.getName ()); HttpContext httpcontext = Http.createdefaulthttpcontext (); 보십시오 {http.registerservlet ("/ 테스트", Serverservlet, InitParams, HttpContext);} catch (예외 e) {e.printstacktrace (); } 공공 무효 종료 () {http.unregister ("/ 테스트");}
목록 2 Serverservlet에 이전 구현 된 구성 요소를 매개 변수로 전달 하 고 서블릿 컨테이너에는 Serverservlet를 등록 합니다. 지금까지, 우리는 나머지 웹 서비스를 게시 하지만 기다릴 수 있 었 어 요, 우리의 웹 서비스 빈 이며 나머지 리소스를 아직 추가 하지 않은 우리.