[세미나] REST API

매빈·2023년 4월 22일
0

EFUB 세미나

목록 보기
3/6
post-thumbnail

URI, URL, URN


  1. URI
  • Uniform Resource Identifier
  • 인터넷 자원을 나타내는 고유 식별자 = 인터넷에 있는 자료의 ID
  • URI의 하위개념으로 URL, URN이 있음. 즉, URL과 URN을 포괄하는 개념.
  1. URL
  • Uniform Resource Identifier
  • 컴퓨터 네트워크 상에서 리소스의 위치를 알려주기 위한 규약
  • 프로토콜을 포함함
  1. URN
  • Uniform Resource Name
  • 자원의 이름을 나타냄
  • 프로토콜 포함 X
  • 리소스 접근 방법과 웹 상의 위치가 표기되지 않음
  1. 자원 식별 방식
  • Path Variable: 경로를 변수로 사용함

  • Query Parameter: 경로 뒤에 입력 데이터를 함께 제공함

  • ex.

    // Path Variable
    /users/1
    /users/2
    
    // Query Parameter
    /users?id=1
    /users?id=2@age=24 // 한 번에 여러 params 전달할 수 있음

REST API란?


  1. API란?
  • Application Programming Interface
  • 프로그래밍 언어나 소프트웨어가 서로 상호 작용할 수 있도록 하는 인터페이스
  • 다양한 형태와 목적으로 제공함
    ex. 웹, 운영체제, 프로그래밍 언어, ...
  1. REST API란?
  • REpresentational State Transfer
  • 웹 어플리케이션에서 사용되는 API 디자인 스타일 중 하나
  • 자원을 이름으로 구분하여 자원의 상태를 주고 받는 모든 것을 의미함
  • HTTP URI로 정의된 리소스를 어떻게 할지 구조적으로 깔끔하게 표현하는 방법
  1. REST API의 구성
  • 자원 - URI
    : URI를 이용하여 자원을 지정하고 해당 자원에 대한 조작을 서버에 요청
  • 행위 - HTTP METHOD
    : GET, POST, PUT, DELETE 등
  • 표현 - JSON, XML
    : 자원의 상태에 대한 조작을 요청할 때 서버가 이에 적절한 응답을 보냄
  1. REST API의 특성
  • CLIENT - SERVER 구조: 클라이언트와 서버의 역할이 확실히 구분 ➡️ 각각 개발해야 할 내용이 명확해지고 서로 간 의존성이 줄어듦
  • Stateless
  • Cachable
  • 계층형 구조
  • Uniform Interface
  • Code On Demand

REST API 설계 규칙


  • URI는 정보의 자원을 표현해야 함. 리소스명은 동사보다는 명사를 사용
  • 자원에 대한 행위는 HTTP METHOD로 표현해야 함
  • 슬래시(/) 구분자는 계층관계를 나타낼 때 사용
  • URI 경로의 마지막에 슬래시(/)를 포함하지 않음
  • 하이픈(-) 을 사용, 언더바(_) 사용 X ➡️ URI 가독성을 높이기 위함
  • URI 경로에는 소문자 사용하기
  • 파일 확장자는 URI에 포함하지 않고, Accept header를 사용하기

0개의 댓글