0. REST API란?

프라이마리모·2024년 11월 30일

REST API

목록 보기
1/4
post-thumbnail

이 시리즈에서는 JPA 예시 코드를 기반으로, 실제 운영 환경에서 각기 다른 도메인끼리의 통신을 가정한 RESTful API로 디벨롭한다.

  • 기본 웹 프로젝트 세팅 완료된 상태에서 시작, 테스트는 POSTMAN 활용

REST API란?

  • REST API(Fepresentational State Transfer API) : 웹 기반 애플리케이션 간의 데이터 통신을 간단하고 효율적으로 설계할 수 있는 아키텍처 스타일

REST란?

  • Representational State Transfer의 약자
  • 자원을 이름으로 구분하여 Client와 Server 사이에서 해당 자원의 상태를 주고받는 모든 것

REST API 특징

  • HTTP 프로토콜 기반, 리소스(Resource) 중심 설계
    • 모든 데이터는 리소스로 간주
    • 리소스는 URL(Uniform Resource Locator)을 통해 고유하게 식별
      ex) https://api.example.com/users
    • HTTP 메서드를 사용하여 리소스에 대한 CRUD(Create, Read, Update, Delete) 작업 수행
      • Create : POST
      • Read : GET
      • Update : PUT(전체수정), PATCH(부분수정)
      • Delete : DELETE
  • 클라이언트-서버 간의 상호작용을 단순화하고 일관성을 제공
  • 무상태성(Stateless) : 서버는 클라이언트의 상태를 저장하지 않음.
    • 요청마다 필요한 모든 정보(예: 인증 토큰) 반드시 필요
  • 표준 응답 구조
    • REST에서 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태의 응답을 받을 수 있다.
    • JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적
  • RESTful URI는 간단하고 직관적이어야 한다.
    • 리소스 기반 : /users (사용자 목록), /users/1 (특정 사용자)
    • 복수형 사용 : 리소스 이름은 일반적으로 복수형을 사용합니다.

REST API 설계 예시

리소스: users

메서드URI설명
GET/users모든 사용자 조회
GET/users/1ID가 1인 사용자 조회
POST/users새로운 사용자 생성
PUT/users/1ID가 1인 사용자 수정
DELETE/users/1ID가 1인 사용자 삭제
profile
개발공부 요약노트

0개의 댓글