Restful API 개념 & 설계 규칙

Hyodduru ·2022년 4월 3일
0

CS & Etc.

목록 보기
7/12
post-thumbnail

🙋‍♀️ Rest(Restful)란?

Rest는 Representational State Transfer의 약자로, 웹상에서 사용되는 여러 리소스를 HTTP URI로 표현하고 그 리소스에 대한 행위를 HTTP Method로 정의하는 방식을 말한다.

🙋‍♀️API란?

애플리케이션 프로그래밍 인터페이스(Application Programming Interface)는 애플리케이션 소프트웨어를 구축하고 통합하는 정의 및 프로토콜 세트

🙋‍Restful API?

위의 둘의 단어를 합친 Restful API란 API 시스템을 구현하기 위한 아키텍쳐로 가장 널리 쓰이는 방식이다.
URL /HTTP Method /Payload 의 형식을 지님!

RESTful API를 통해 요청이 수행될 때 RESTful API는 리소스 상태에 대한 표현을 요청자에게 전송한다. 이 정보 또는 표현은 HTTP: JSON(Javascript Object Notation), HTML, XLT 또는 일반 텍스트를 통해 몇 가지 형식으로 전송된다. JSON은 그 이름에도 불구하고 사용 언어와 상관이 없을 뿐 아니라 인간과 머신이 모두 읽을 수 있기 때문에 가장 널리 사용된다.

🤔 Restful 장단점

👉 장점 : self-descriptiveness, API의 목적 쉽게 이해 간다.
👉 단점 : 표준 규약이 없음(선호되는 방식만 있을 뿐!)

🔱 Restful API 설계 규칙

  1. Url 정보를 명확하게 표현해라 ( resource는 명사를 사용) ex)GET/user/1 => GET/users/1

  2. resource에 대한 행위를 HTTP Method(GET, POST, PUT, DELETE)로 표현
    url에 HTTP Method가 포함되서는 안된다. ex) GET delete/user/1 => DELETE/users/1
    url에 동사가 포함되서는 안된다. ex) GET/user/show/1 => GET/users/1

  3. resource사이에 연간관계가 있는 경우 -리소스, 고유ID, 관계 있는 리소스 ex)GET/users/{user_id}/profile

  4. 파일의 경우 payload의 포맷을 나타내기 위한 파일 확장자를 URI에 포함시키지 않는다. ex) GET user/1/profile-photo.jpg 말고! GET user/1/profile-photo (이때 payload의 포맷은 headers에 accept를 사용한다.)

  5. URI은 / 구분자를 사용하여 자원의 계층 관계를 나타내는데 사용한다.

  6. URI 마지막 문자로 /를 포함하지 않는다. ex) GET users/profiles/ (x)

  7. 불가피하게 uri 일어지는 경우 -를 사용하여 가독성 높힐 것!

  8. Uri 경로에는 대문자 사용을 피하도록 규정

🍯 마무리

이번 프로젝트 하면서 더 공부해야할 개념,,! 그냥 글로 읽어보는 것과 직접 써보는 것과는 확연한 차이가 있다. 좀 더 공부하고 써먹어보자---! 추가로 Path parameter랑 query parameter도,, pagination 방법도,, ^^ 공부할 거 많다....!!! 하하하핳

profile
꾸준히 성장하기🦋 https://hyodduru.tistory.com/ 로 블로그 옮겼습니다

0개의 댓글