20240610 31일차
RESTful API는 REST (Representational State Transfer) 아키텍처를 따르는 API를 말한다. REST는 웹의 장점을 최대한 활용하기 위한 아키텍처 스타일로, 리소스 지향적이고 HTTP 프로토콜을 활용해 다양한 CRUD(Create, Read, Update, Delete) 작업을 처리할 수 있다.
| 순번 | 요청내용 | method | 엔드포인트 |
|---|---|---|---|
| 1 | 게시글을 추가 | POST | /posts |
| 2 | 모든 게시글 조회 | GET | /posts |
| 3 | 특정 게시글 조회 | GET | /posts/:id |
| 4 | 특정 게시글 정보 업데이트 | PUT | /posts/:id |
| 5 | 특정 게시글 정보 일부 수정 | PATCH | /posts/:id |
| 6 | 특정 게시글 정보 삭제 | DELETE | /posts/:id |
| 7 | 댓글 추가 | POST | /comments |
| 8 | 모든 댓글 조회 | GET | /comments |
| 9 | 특정 댓글 조회 | GET | /comments/:id |
URI*는 명사형으로 작성하고, 소문자를 사용하며, 하이픈(-)으로 단어를 구분
URI(Uniform Resource Identifier)
웹 리소스를 식별하는 문자열
URI는 웹 상의 특정 리소스(자원)에 접근할 수 있는 주소 역할
URI는 주로 우리가 흔히 아는 URL(Uniform Resource Locator)과 URN(Uniform Resource Name)으로 나뉨
엔드포인트(Endpoint)
클라이언트가 서버에 접근할 수 있는 특정한 URL을 의미
엔드포인트 구성 요소
스킴(Scheme) 프로토콜을 나타내는 부분 (예: http, https)
도메인(Domain) 서버의 주소 (예: api.example.com)
경로(Path) 리소스의 위치를 나타내는 부분 (예: /users, /posts)
쿼리 문자열(Query String) 추가적인 매개변수를 포함하는 부분 (예: ?sort=asc&limit=10)
포트(Port) 네트워크 포트 번호 (기본 포트가 아닌 경우 명시됨) (예: :8080)
| 상태 코드 | 의미 |
|---|---|
| 200 | OK (성공) |
| 201 | Created (리소스 생성 성공) |
| 204 | No Content (내용 없음, 성공) |
| 400 | Bad Request (잘못된 요청) |
| 401 | Unauthorized (인증 필요) |
| 403 | Forbidden (금지됨) |
| 404 | Not Found (리소스 없음) |
| 500 | Internal Server Error (서버 오류) |