RESTful API

Nicholas·2022년 5월 29일
0

Django

목록 보기
8/14

1. 정의

RESTful API란 무엇인가요?
RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스입니다. 대부분의 비즈니스 애플리케이션은 다양한 태스크를 수행하기 위해 다른 내부 애플리케이션 및 서드 파티 애플리케이션과 통신해야 합니다. 예를 들어 월간 급여 명세서를 생성하려면 인보이스 발행을 자동화하고 내부의 근무 시간 기록 애플리케이션과 통신하기 위해 내부 계정 시스템이 데이터를 고객의 뱅킹 시스템과 공유해야 합니다. RESTful API는 안전하고 신뢰할 수 있으며 효율적인 소프트웨어 통신 표준을 따르므로 이러한 정보 교환을 지원합니다
출처 : https://aws.amazon.com/ko/what-is/restful-api/

  • REST + ful 합성어로 REST에 ful을 붙여 형용사형으로 만든 합성어이다.
    REST는 일종의 통신을 하기위한 일정의 규칙이며 국제 규격처럼 규칙이 딱 정해져있지 않다.
  • frontend와 backend의 각각의 엔드포인트들이 만나면서 통신이 이루어지는데 이때 RESTful한 방식으로 통신이 이루어진다.

2. RESTful한 통신이 필요한이유

  • 요청을 하는 클라이언트의 마음을 API가 알수 없다. 그래서 요청을 할때마다 일정한 규칙을 정해 어떤 요청은 어떻게 보내고, 어떤 요청을 어떻게 보내는지에 대한 약속을 REST라고하며 이 규칙을 사용하여 만든 API를 RESTful API라고 한다.
  • 각각의 http 메소드들을 요청에 따라 적절하게 사용하는것이 RESTful하게 통신한다고 말한다.

    각 http메소드설명은 여기 참조 : https://velog.io/@nichol/HTTP

3. RESTful API의 중요점 : parameter(파라미터)

  • POST 메소드 통신의경우 body에 요청할 부분의 내용을 담아서 전달한다.
    하지만 GET 메소드의 경우 리소스를 조회하는데 사용하는 메소드인데 어떤리소스를 조회하는지 frontend는 backend에 전달해야한다. 이때 사용하는 통신의 방법이 파라미터를 이용한 통신이다.

3-1. path parameter (경로 파라미터)

  • backend API에 각각 엔드포인트가 존재한다.
  • 엔드포인트에 경로를 표시하여 그 경로를 이용해 요청정보를 받아서 처리하여 그 경로로 반환해주것,이것을 경로파라미터를 이용한 통신이라고 한다.
    • 예) music/list 라는 엔드포인트는 음악리스트를 보여주는 API 경로인데 여기에 경로파라미터를 이용하여 1번 아이디를 가진 음악을 눌렀을때 music/list/1이러한 엔드포인트로 요청을한다면 백엔드는 경로파라미터를 이용하여 아이디1번의 상세페이지를 보여달라는 요청이구나 하고 1번아이디를 가진 음악의 상세페이지를 반환해준다.

3-2. query parameter(쿼리 파라미터)

  • 엔드포인트 ?를 쓰고난뒤 쿼리파라미터를 작성하여 ? 이후는 쿼리파라미터를 알린다.
  • parameter(key)=value(value)로 필요한 파라미터의 값을 적는다
    - 예) music/list?singer=성시경
  • 파라미터가 여러개일 경우 &를 붙여 여러개의 파라미터를 넘길 수 있다.
    - 예) music/list?singer=성시경&since=2010
profile
WEB Developer

0개의 댓글