자카르타 RESTFul 웹 서비스
Jakarta RESTful Web Services원본 작성자 | 선 마이크로시스템스 |
---|---|
개발자 | 이클립스 재단 |
안정적 해제 | 3.0 / 2020년 6월 30일; 전 |
리포지토리 | |
기록 위치 | 자바 |
운영 체제 | 크로스 플랫폼 |
플랫폼 | 자바 |
유형 | 애플리케이션 프레임워크 |
면허증 | EPL 2.0 또는 GPL v2(Classpath 예외 포함) |
웹사이트 | projects |
자카르타 RESTful Web Services(JAX-RS, 이전 Java API for RESTful Web Services)는 REST(Restitational State Transfer) 아키텍처 패턴에 따라 웹 서비스를 만드는 데 지원을 제공하는 자카르타 EE API 규격이다.[1]JAX-RS는 Java SE 5에서 도입된 주석을 사용하여 웹 서비스 클라이언트와 엔드포인트의 개발과 배치를 단순화한다.
버전 1.1부터 JAX-RS는 Java EE 6의 공식 부분이다. JAX-RS를 사용하기 위해 어떠한 구성도 필요하지 않다는 것이 Java EE의 공식 부분이다.비 Java EE 6 환경의 경우 web.xmldeployment descriptor가 필요하다.
사양
JAX-RS는 리소스 클래스(POJO)를 웹 리소스로 매핑하는 데 도움이 되는 주석을 제공한다.주석은 Java 패키지를 사용한다. jakarta.ws.rs
(그랬던)javax.ws.rs
그러나 2019년[2] 5월 19일에 개명되었다.여기에는 다음이 포함된다.
@Path
리소스 클래스 또는 메서드의 상대 경로를 지정하십시오.@GET
,@PUT
,@POST
,@DELETE
그리고@HEAD
리소스의 HTTP 요청 유형을 지정하십시오.@Produces
응답 인터넷 미디어 유형(콘텐츠 협상에 사용됨)을 지정하십시오.@Consumes
허용된 요청 인터넷 미디어 유형을 지정하십시오.
또한, 요청에서 정보를 빼내기 위한 방법 매개변수에 대한 추가 주석을 제공한다.모든.@*Param
주석은 필요한 값을 검색하는 데 사용되는 어떤 형태의 키를 취한다.
@PathParam
메서드 파라미터를 경로 세그먼트에 바인딩하십시오.@QueryParam
메서드 매개 변수를 HTTP 쿼리 매개 변수의 값에 바인딩하십시오.@MatrixParam
메서드 매개 변수를 HTTP 매트릭스 매개 변수의 값에 바인딩하십시오.@HeaderParam
메서드 매개 변수를 HTTP 헤더 값에 바인딩하십시오.@CookieParam
method 매개 변수를 쿠키 값에 바인딩하십시오.@FormParam
메서드 매개 변수를 폼 값에 바인딩하십시오.@DefaultValue
키를 찾을 수 없는 경우 위의 바인딩에 대한 기본값을 지정하십시오.@Context
개체의 전체 컨텍스트를 반환함(예:@Context HttpServletRequest request
).
JAX-RS 2.0
2011년 1월 JCP는 JAX-RS 2.0 작업을 위해 JSR 339 전문가 그룹을 구성했다.주요 대상은 (다른 것 중) 공통 클라이언트 API 및 REST의 HIDOAS-원칙에 따른 하이퍼미디어 지원이다.2013년 5월에는 Final Release 단계에 도달했다.[3]
2017-08-22 JAX-RS 2.1 규격[4] 최종 릴리즈가 발표되었다.새로운 주요 지원 기능으로는 서버 전송 이벤트, 사후 대응 클라이언트 및 JSON-B가 있다.[5]
구현
JAX-RS 구현에는 다음이 포함된다.[6]
- 오픈 소스 웹 서비스 프레임워크인 Apache CXF
- Sun의 레퍼런스 구현(현재 Oracle)
- RESTASE, JBoss의 구현
- 레스트릿
- IBM의 WebSphere Application Server:
- Oracle의 WebLogic Application Server, 참고 사항 참조
- 아파치 투스카니(http://tuscany.apache.org/documentation-2x/sca-java-bindingrest.html), 단종
- 쿠우베즈 프레임워크(https://web.archive.org/web/20190707005602/http://cuubez.com/)
- Everrest, Codenvy의 구현
- 강력한 RESTful 엔진과 포괄적인 데이터 인증 모델을 포함하여 구글 앱 엔진에 최적화된 Jello-Framework.
- Apache TomEE, Apache Tomcat 추가
참조
- ^ 해들리, 페이지 1
- ^ "Rename package commit on Github". GitHub.
- ^ "JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services". Java Community Process.
- ^ "JSR 370: Java API for RESTful Web Services (JAX-RS 2.1) Specification". Java Community Process.
- ^ "JSR 367: Java API for JSON Binding (JSON-B)". Java Community Process.
- ^ Little, Mark (October 1, 2008). "A Comparison of JAX-RS Implementations".
- Hadley, Marc, Paul Sandoz, eds. (2009년 9월 17일)JAX-RS: RESTful WebServices용 Java API(버전 1.1), Java 커뮤니티 프로세스
외부 링크
자습서
- https://javabrains.io/courses/javaee_jaxrs/
- http://docs.oracle.com/javaee/6/tutorial/doc/giepu.html
- http://www.vogella.com/tutorials/REST/article.html
- http://www.mkyong.com/tutorials/jax-rs-tutorials/
- http://www.coderpanda.com/jax-rs-tutorial/
- https://www.javavogue.com/2015/03/java-jerseyjax-rs-tutorials/
- http://howtodoinjava.com/restful-web-service/