RESTful API

뱅기뱅규·2022년 4월 30일
0

🚀 학습 목표

  1. RESTful API가 무엇인지 설명할 수 있다.
  2. RESTful API의 설계규칙에 따라 엔드포인트를 작성할 수 있다.
  3. Path parameter와 Query parameter의 차이점을 알고, 상황에 맞게 적용할 수 있다.

What is RESTful API?

API시스템을 구현하기 위해 사용하는 아키텍쳐들중 가장 널리 사용
REST = REpresentational State Transfer 웹 상 존재하는 모든 데이터(ex. 이미지, 동영상, 데이터)에 고유한 URI를 부여하는 규칙

Pros : Self-Descriptiveness(그 자체로 무슨 기능인지 이해가 가능하다)
ex. GET/users => user여러명의 정보를 가져온다는것을 URI만 보고도 기능을 이해할 수 있다.
Cons : 표준규약이 정해져있지 않아서, 안티패턴으로 작성되는 경우가 허다하다.(안티패턴: 비효율적, 비생산적 URI배분)

RESTful API의 규칙

  1. URI정보 명확하게 표현(resource는 명사 사용) ex. user 대신 users
  2. Resource에 대한 행위를 HTTP Method로 표현 하지만, But! URI에 Method 직접 표현하지 않는다.
  3. URI에 동사 포함하지 않는다. ex. GET users/show/1 => GET users/1
  4. Resource 사이에 연관 관계가 있는 경우 (resourceㄹ/고유ID/관계된 리소스)
  5. 파일의 경우, payload의 포맷을 나타내기 위한 파일 확장자를 URI에 포함하지 않는다.
  6. 마지막에는 /를 넣지 않는다.
  7. 불가피라게 길어진 URI면 -로 단어를 분리한다. ex. GET/users/profilephoto => GET/users/profile-photo

Query Parameter?

URI에서 특정 기능을 수행할때 (filtering or ordering) URI에 ?가 추가되며, 그 뒤의 내용은 key=value의 형태로 온다.
ex. Get/products? price=3000원 && name=사과

0개의 댓글