RESTful API

seul3·2021년 12월 3일
1

RESTful API란?


  1. API 시스템을 구현하기 위한 아키텍처 중에 가장 많이 사용되는 형식이다. json 형태로 받는 것

  2. 웹상에서 사용되는 여러 리소스를 HTTP URI로 표현하고 그 리소스에 대한 행위를 HTTP Method로 정의하는 방식.

  3. 가장 큰 장점은 API의 목적이 쉽게 전달된다. 단점으로는 표준 규약이 없기 때문에 안티패턴으로 작성되는 경우가 많다.(*실제 사용되는 패턴이지만 비효율,비생산적인 패턴)

RESTful API 설계 규칙

  1. URI 정보를 명확하게 표현해야 한다. (resource는 명사를 사용함.회사에 따라 단수 복수 다르다. 전체적인 흐름으로는 복수로 명시한다)

  2. resource에 대한 행위를 HTTP Method(GET,POST,PUT,DELETE)로 표현한다 URI에 HTTP Method,동사가 포함되서는 안된다.

  3. URI는 / 구분자를 사용하여 자원의 계층 관계를 나타내는데 사용한다. URI 마지막 문자로 /를 포함하지 않는다. ex) GET users/portfolios/ (x)

  4. 불가피하게 URI가 길어지는 경우 -를 사용하여 가독성을 높인다.

  5. URI 경로에는 대문자를 사용을 피하도록 규정.

Path parameter,Query parameter

Path parameter란?

데이터를 넘겨주는 방식 중 하나이다. Query parameter과는 다르게 식별하는데 유리하다.

Query parameter ?

뒤에 -를 쓰지 않고 보내는거 UI가 끝내는지점 ?를 쓴다.
필터링 이외에도 Ordering 오름차에서 내림차로도 가능한다.(ex) 별점순 가격순 클릭했을 때 정렬이 가능하다.

Pagination offset 시작값 limit 값이다/ 한 페이지에 보여주고 싶은 것을 국한 시키고 싶을 때 사용한다. ex) GET/products?offset=0&limit=100
path parameter와는 다르게 정렬 시킬 때 유용하다.

ex) GET/products?price=3000원


Status Code

-Successful : 200번대(성공 응답)
-Redirection : 300번대(리다이렉션 응답)
-Client Error : 400번대(클라이언트 Error)
-Server Error : 500번대(서버 Error)

✍✔ 개발자 도구 Network에 주로 볼 수 있다. 200이면 정상 작동 400 넘어가면 이상이 있는 것이고 500은..... 보통 높은 확률로 백엔드에서 문제가 있다고는 하지만 아주 간혹 프론트에서 문제가 있어서 발생할 수 있다고 하니 만약 보게 된다면 같이 해결 하면 될 것이다 :-)

profile
꾸준히 성장하는 개발자 입니다 😊

0개의 댓글