HTTP API란?
HTTP는 웹 환경에서 정보를 주고받기 위한 프로토콜로, HTTP API는 통신 규약으로 소통하는 API
REST API란?
REST는 네트워크 아키텍처 스타일(네트워크 자원을 정의하고 처리하는 방법)로, REST API는 HTTP의 장점을 최대한 활용하기 위해 만들어진 API
RESTful 설계 규칙
1. URI로 자원(리소스) 표현
GET /members/delete/1 (X)
DELETE /members/1. (O)
delete와 같은 행위에 대한 표현이 들어가면 안됨
행위를 표현하고자 할 때는 HTTP Method (GET, POST, PUT, DELETE)로 표현
2. 정보의 자원을 표현
document, collection, store, controller 4가지 방식으로 자원을 표현할 수 있습니다. document란, 1개의 객체를 나타내는 것으로 일반적으로 단수명사로 나타나지며 collection 뒤에 나타나게 됩니다. collection은 resource(document)들의 집합입니다. 일반적으로 복수 명사를 사용합니다.
GET /sports/soccer/players/13
위와 같은 URI를 보면 sports, players는 collection으로 나타나지고 있고 soccer, 13은 도큐멘트로 URI를 구성하고 있습니다.
+) 그 외 자원 표현 방법들
- 명사형을 사용합니다.
- 소문자를 사용합니다.
- 밑줄 ( _ ) 은 사용하지 않습니다.
- 하이픈 ( - )을 사용합니다.
3. 경로에 대한 표현
/university/sookmyung/ (X)
/university/sookmyung (O)
슬래시 구분자 ( / ) 는 계층 관계를 나타내는데 사용합니다. URL 마지막에는 슬래시 구분자를 포함하지 않습니다. 또한, 경로 부분 중 변하는 부분은 유일한 값으로 대체합니다. (ex. id 값)
출처 : https://bentist.tistory.com/37, https://velog.io/@beneficial/HTTP%EC%99%80-REST-API%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
'CS' 카테고리의 다른 글
[CS] 데드락 조건, 해결 방법 (0) | 2024.06.18 |
---|---|
[CS 스터디] 네트워크(Network) (1) | 2024.05.28 |
[CS] Spring DTO (1) | 2024.05.01 |
[CS] Spring Dispatcher-Servlet (0) | 2024.05.01 |
[CS] Spring MVC (0) | 2024.05.01 |