REST API

강상은·2023년 12월 3일
0
post-thumbnail

Representational State Transfer의 약자로 웹(HTTP)의 장점을 이용해 리소스를 주고받는 형태며, REST API는 REST 기반으로 API를 서비스하는 것을 의미한다. REST API는 메서드와 경로가 합쳐진 형태이다.
(representation이란 “어떤 리소스의 특정 시점의 상태(state)를 반영하고 있는 정보)

쉽게 말하면 REST란 웹 상의 모든 리소스에 URI를 부여하고 활용하는 아키텍처이다. REST를 도입하면 모든 리소스를 일관된 규칙으로 접근할 수 있어 애플리케이션을 모듈이나 기능별로 분리하기 쉬워진다.

효율적, 안정적이며 확장가능한 분산 시스템을 가져올 수 있는 소프트웨어 아키텍처 디자인 제약의 모음, 그리고 그 제약들을 준수했을 때 그 시스템은 RESTful하다고 함

서비스가 HTTP동사(GET,POST,PUT,DELETE)를 수용해 서비스의 핵심 동작을 표현해야 하고, 서비스에 데이터를 요청하고 수신하기 위해 JSON처럼 경량의 웹 기반 데이터 직렬화 프로토콜을 사용하는 것

서버의 자원을 정의하고 자원에 대한 주소를 지정하는 방법

  • REST 방식으로 요청하는 URI 형식

    /작업명/기본키+메서드+데이터

  • 작업명: 요청하는 작업 종류

  • 기본키: 요청하는 작업에 해당하는 대상의 기본키

  • 메서드: 요청하는 기능

  • 데이터: 기능 수행에 필요한 JSON 데이터

HTTP 메서드의 기능

  • POST : 추가(Create)
  • GET : 조회(Select)
  • PUT : 수정(Update)
  • DELETE : 삭제(Delete)

JAX-RS란

Java API for RESTful Web Services (JAX-RS)는 Java에서 RESTful 웹 서비스를 개발하기 위한 API(응용 프로그래밍 인터페이스)를 제공하는 자바 기술 표준입니다. 이 API는 REST(Representational State Transfer) 아키텍처 스타일을 따르는 웹 서비스를 구축하고 사용하기 위한 일련의 클래스와 메서드를 정의하고 제공합니다.

JAX-RS는 다음과 같은 주요 특징과 장점을 갖고 있습니다

  • 간편한 RESTful 웹 서비스 개발: JAX-RS를 사용하면 RESTful 웹 서비스를 개발하는 것이 간단하고 효율적입니다.

    • HTTP 메서드(예: GET, POST, PUT, DELETE)를 사용하여 리소스를 다루고, URL 경로 매개변수를 통해 리소스를 식별하며, HTTP 상태 코드를 통해 요청 및 응답을 처리할 수 있습니다.
  • 표준화된 방식: JAX-RS는 Java의 표준 기술로서, 다양한 Java EE(Enterprise Edition) 컨테이너 및 프레임워크에서 지원되며, 이식성이 뛰어납니다.
    다양한 데이터 형식 지원: JAX-RS는 다양한 데이터 형식을 지원하며, 주로 JSON 및 XML과 같은 데이터 형식을 사용하여 데이터를 교환할 수 있습니다.

  • 확장 가능성: JAX-RS를 사용하여 사용자 지정 필터, 인터셉터, 프로바이더를 생성하여 웹 서비스를 확장하고 사용자 정의 기능을 추가할 수 있습니다.

  • 생산성 향상: JAX-RS는 개발자가 RESTful 웹 서비스를 구축하고 유지 관리하는 데 도움이 되는 다양한 도구와 라이브러리와 통합되어 있습니다.

JAX-RS는 Java 웹 애플리케이션에서 RESTful 웹 서비스를 구현하고 제공하기 위한 강력한 도구로 사용됩니다. 이는 다양한 비즈니스 및 애플리케이션 시나리오에서 웹 서비스를 개발하고 확장하는 데 유용하며, RESTful 서비스의 설계 및 구현을 단순화하는 데 기여합니다.

0개의 댓글