자카르타 RESTFul 웹 서비스

Jakarta RESTful Web Services
자카르타 RESTFul Web Services(JAX-RS)
원본 작성자선 마이크로시스템스
개발자이클립스 재단
안정적 해제
3.0 / 2020년 6월 30일; 21개월(2020-06-30)
리포지토리
기록 위치자바
운영 체제크로스 플랫폼
플랫폼자바
유형애플리케이션 프레임워크
면허증EPL 2.0 또는 GPL v2(Classpath 예외 포함)
웹사이트projects.eclipse.org/projects/ee4j.jaxrs Edit this at Wikidata

자카르타 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 헤더 값에 바인딩하십시오.
  • @CookieParammethod 매개 변수를 쿠키 값에 바인딩하십시오.
  • @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]

참조

  1. ^ 해들리, 페이지 1
  2. ^ "Rename package commit on Github". GitHub.
  3. ^ "JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services". Java Community Process.
  4. ^ "JSR 370: Java API for RESTful Web Services (JAX-RS 2.1) Specification". Java Community Process.
  5. ^ "JSR 367: Java API for JSON Binding (JSON-B)". Java Community Process.
  6. ^ Little, Mark (October 1, 2008). "A Comparison of JAX-RS Implementations".

외부 링크

자습서