HTTP 통신에서 어떤 자원에 대한 클라이언트의 요청을 특정한 형태를 띄는 자원과 행위로 표현하여 전달하는 방식
- 클라이언트가 스마트폰, 데스크탑, 태블릿 등 어떤 플랫폼으로 서버에 요청을 하든 HTTP 프로토콜을 따른다면 일관된 인터페이스를 제공
- RESTful API는 URL 요청 메세지만 봐도 어떤 자원과 행위를 원하는지 직관적인 이해가 가능한 자체 표현 구조
- URI는 정보의 리소스를 표현
- 리소스명은 동사가 아닌 명사로 표현
- 슬래시(/)는 계층 관계를 나타내기 위해 사용하며, URI의 끝에는 슬래시(/) 사용 지양
- 가독성을 위해 URI에 하이픈(-) 사용 허용, 언더바(_)사용 지양
- URI 경로에는 대문자 사용 지양
- 자원에 대한 행위는 GET, POST, PUT, DELETE 같은 HTTP Method로 표현
- GET: 조회, POST: 추가, PUT: 수정, DELETE: 삭제
- Content-Type은 JSON format
- application/json
- 의미에 맞는 HTTP Status Code 반환
- 200: OK
- 400: Bad Request
- 404: Not Found
- 500: Server Error
- Resource: 클라리언트가 필요로 하는 자원을 의미
- Method : 자원에 대한 행위를 의미하며, HTTP Method로 표현
- Representation : 자원에 대한 행위의 내용을 의미하며 JSON 형태의 HTTP message payload를 클라이언트의 요청에 대한 응답으로서 전달
상품 상세 페이지 조회
[GET] http://localhost:8000/rooms/{roomId}
사용자 서비스에 등록하기
[POST] http://localhost:8000/users
req.body : {
"name": "Ken",
"address": "Busan"
}