REST API란?? - 기초

oneofakindscene·2021년 8월 17일
0

flask

목록 보기
1/4

REST API란??

  • API : 소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단을 Application Programming Interface 라고 한다.
  • REST API는 정보들이 주고받아지는 데 있어서 개발자들 사이에 널리 쓰이는 일종의 형식(어떤 기술이나 제품이 아니라 형식이다!) = REST란 형식의 API
    • (참고) 과거의 SOAP이란 형태의 복잡한 형식를 대체함
  • REST의 가장 중요한 특성은 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론 가능하다는 것
    • https://(사이트도메인)/1 <- 1을 보고 어떤 요청을 했는지 모름
    • https://(사이트도메인)/student_list <- 대략 학생 list를 요청하는 것으로 추론 가능
  • RESTful하게 만든 API는 요청을 보내는 주소만으로도 대략 이게 뭘 하는 요청인지 파악이 가능
    • RESTful?
      • REST한 규칙 및 형식들을 지켜서 만들었을 경우 RESTful하다고 함
      • RESTful은 일반적으로 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어이다.
      • ‘REST API’를 제공하는 웹 서비스를 ‘RESTful’하다고 할 수 있다.
  • RSET API에서는 4가지(CRUD) 혹은 5가지 기능을 주요 사용
    • CRUD : 소프트웨어(Software)가 가지는 기본적인 데이터 처리 기능을 묶어서 일컫는 말
      • CREATE 생성
      • READ 조회
      • UPDATE 수정
      • DELETE 삭제
    • 기타
      • PATCH
  • 결국 REST API란, HTTP 요청을 보낼 때, 어떤 URI에 어떤 메소드를 사용할지(+기타) 개발자들 사이에 널리 지켜지는 약속이다.

메소드 종류(CRUD가 담겨있음)

  • 1) GET : 정보를 요청하기위해 사용(Read)
  • 2) POST : 정보를 입력하기위해 사용(Create)
  • 3) PUT : 정보를 업데이트하기위해 사용(Update)
  • 4) DELETE : 정보를 삭제하기위해 사용(Delete)
  • POST, PUT, PATCH에는 BODY라는 주머니가 있어서 GET, DELETE보다 많은 정보를 담을 수 있음(& 비교적 안전하게 감춰서 실어보낼 수 있음)
  • 사실 위 메소드들의 기능이 특정 용도에 제한되어 있는 것은 아님
    • POST 하나로도 데이터를 읽고, 쓰고, 수정(업데이트), 지우고 까지 다 할 수 있음. 하지만, 누구든 각 요청의 의도를 쉽게 파악할 수 있도록 RESTful하게 API를 만들기 위해서는 이들을 목적에 따라 구분해서 사용해야 함
  • (참고) PUT PATCH 어떻게 다른가?
    • PUT : PUT은 정보를 통째로 갈아끼울 때
    • PATCH : 정보 중 일부를 특정 방식으로 변경할 때
  • (참고2) 아래 스샷과 같이 표기하면 깔끔하지 않은 문제가 있기 때문에 URI는 동사가아닌 명사로 표기가 이루어져야함
  • 동사랑 함께 쓴 경우
  • 명사들로 이루어 진 경우

References

profile
oneofakindscene

0개의 댓글