RESTful API = 대표적인, 상태, 전달...?

irob·2023년 2월 16일
1

Software Development

목록 보기
1/4

* REST = REpresentational State Transfer

= 대표적인, 상태, 전달...? 뭔말

1. 일단 API는,

  • 클라이언트가 서버에 request할 때(예를들면 로그인 정보를 주고받을 때 라고 해보자)

  • 어떤 요청인지 구분할 수 있도록(로그인인지, 사진업로드 요청인지, 다운로드 요청인지...)

  • 요청별로 주소를 구분해서 만든 체계가 API임

    	예를 들면 'GET/members/soccer/345/photo' 이런식 ('서버주소/A') 
    
    	'POST/timeline/food/24/sandwich(.jpg같은 파일확장자 사용x)' 이런식

2. 이런 API를 개발할 때 데이터를 주고받는 기능도 넣어야 함

  • 이미지 파일과 같은 요청에 response할 때 같이 보내야하기 때문

3. 이때 API에서 필요한 대표적인 기능이 CRUD

  • 그래서 app개발 때 모든 기능이 구현되어야 하며, 빠진 기능이 있다면 그 기획 의도가 분명해야함

4. 그치만 주소가 너무 많아지는 문제 발생

  • '서버주소/포스팅수정', '서버주소/포스팅삭제' 이런식으로 주소가 많아지게 되는데, 중복의 문제도 생기고 관리하기 힘듦 -> 코드벌레 생성 가능성...

5. 그래서 더 체계적으로 API를 관리하고자 탄생한 사회 운동이 RESTful API 인 것이다...

  • CRUD를 하나의 주소로 관리함. 주소 개수가 줄어듬
  • Post/, Get/, Put/(Patch/ = 일부만 업뎃), Delete/ 와 같은 함수를 붙여 구분
  • 이런식의 REST 아키텍처를 구현하는 웹 서비스를 'RESTful'하다고 부름
  • REST는 성능 향상이 목적이 아니라 일관성있는 작명 방법을 통해 API이해도, 호환성을 높이는것이 목표이므로 성능 향상이 목표인 웹이라면 구현 안해도 됨
  • RESTful하지 못한 경우:
    • CRUD기능을 모두 Post/로만 처리하는 API
    • route에 resource, id 외의 정보가 들어가는 경우(/students/updateName)

++ 웹 개발을 하는 중 구글 지도 기능을 넣고 싶어졌다..?

  • 내 소프트웨어에 Google maps SDK(Software Development Kit) 설치
  • Google maps SKD에서 제공하는 API사용해서 구글 지도에 request가능
profile
borison and me

0개의 댓글