-
2023 - 05 - 22 REST APIToday I Learned/TIL 05 2023. 6. 1. 07:23
REST API
웹의 장점을 최대한 활용할 수있는 아키텍처로서 REST를 발표함.
REST의 규칙을 지키면서 만든 API를 REST API 혹은 RESTful API라고 한다.
API
Application Programming Interface (애플리케이션 프로그래 인터페이스)
> 중간 전달자, e.g. 은행 창구
REST의 특징
1) Uniform (유니폼 인터페이스)
2) Stateless (무상태성)
3) Cacheable (캐시 가능)
4) Self-descriptiveness (자체 표현 구조) : REST API만 보고도 쉽게 이해 가능한 구조
5) Client - Server 구조 : 서버는 API 제공 / 클라이언트는 사용자인증, 로그인 정보 관리 로 역할 확실히 구분
6) 계층형 구조
REST API 중심 규칙
1) URI는 정보의 자원을 표현해야 한다.
- 리소스 명은 동사보다 명사를 사용
2) 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.
GET 조회
POST 생성
PUT 수정
DELETE 삭제URI 설계 시 주의할 점
1) 슬래시 구분자(/)는 계층 관계를 나타내는 데 사용
2) URI 마지막 문자로 슬래시(/)를 포함하지 않는다.
3) 하이픈(-)은 URI 가독성을 높이는데 사용
4) 밑줄(_)은 URI에 사용하지 않는다.
5) URI 경로에는 소문자가 적합하다.
6) 파일 확장자는 URI에 포함시키지 않는다.
e.g.
restapi.example.com/sports/soccer/players/13
Collection : 복수 : sports, player
Document : 단수 : soccer과 13
URI은 개발자가 마음대로 작성할 수 있지만
REST한 표현을 위해서 콜렉션은 복수로 도큐먼트는 단수로 표현하자
콜렉션은 문서(도큐먼트)를 하위에 여럿가지고 있고,
문서(도큐먼트)는 단일페이지에 여러 객체를 가지고있다.
HTTP 응답 상태 코드 : 코드로 반환하면 뭔 상태인지 파악이 빠름
참고자료 : https://www.moesif.com/blog/technical/api-design/Which-HTTP-Status-Code-To-Use-For-Every-CRUD-App/
REST API 참고자료
- - REST API 란 https://meetup.nhncloud.com/posts/92
- REST api , rest에 대해 정리가 잘된 블로그 https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
- REST API란? 얄코 영상 https://www.youtube.com/watch?v=iOueE9AXDQQ
URI 설계시 유의할점 : [URL 주소컨벤션] https://blog.pumpkin-raccoon.com/115
URI, URL, URN의 차이 : https://velog.io/@minsu8834/What-is-Rest-Api-1%ED%83%84-URI-URL-URN%EC%9D%98-%EC%B0%A8%EC%9D%B4U
URI 의 범위 https://velog.io/@torang/URL%EA%B3%BC-URI%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
'Today I Learned > TIL 05' 카테고리의 다른 글
2023 - 05 - 25 콜백함수 : 객체의 매서드 전달 (0) 2023.06.01 2023 - 05 - 24 콜백함수 및 콜백함수의 제어권 (0) 2023.06.01 2023 - 05 - 21 자료구조 map과 set, 매서드, 반복자 (0) 2023.06.01 2023 - 05 - 20 일급객체로써의 함수(콜백함수, 고차함수) (0) 2023.06.01 2023 - 05 - 19 구조분해할당, ES6 , 단축 속성명, 전개구문 (스프레드 오퍼레이터), 나머지 매개변수 (레스트 파라미터), 템플릿 리터럴 (백틱) (0) 2023.06.01