- REST - 주고 받는 자원(resource)에 이름을 규정하고 URI에 명시해 HTTP 메서드(GET, POST, PUT, DELETE)를 통해 해당 자원의 상태를 주고 받는것을 의미
- API - 애플리케이션에서 제공하는 인터페이스
- REST API - REST 아키텍처 원칙을 따르는 웹 서비스를 구현하는 데 사용
- REST아키텍처를 구현하는 웹 서비스를 RESTful하다 라고 표현함
- REST 특징
- 1. 유니폼 인터페이스 - REST는 자원을 고유한 URI로 식별하고, 표준 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 자원에 대한 행위를 정의합니다. 이는 플랫폼과 기술에 종속되지 않고, 일관된 인터페이스를 제공하여 서로 다른 시스템 간의 통합이 용이하도록 합니다.
- 2. 무상태성 - RESTful 서비스는 클라이언트의 상태 정보를 서버에 저장하지 않습니다. 각 요청은 모든 필요한 정보를 포함하고 있으며, 서버는 클라이언트의 이전 상태를 알 필요가 없습니다. 이는 서버의 확장성을 높이고, 서버와 클라이언트 간의 독립성을 유지할 수 있도록 합니다.
- 3.캐시 가능성 - REST는 HTTP의 기본 캐싱 기능을 활용하여 캐시를 지원합니다. 서버는 응답에 캐싱 정보를 포함하여 클라이언트가 캐시를 사용하도록 유도할 수 있습니다. 이를 통해 네트워크 대역폭을 줄이고 응답 시간을 개선할 수 있습니다.
- 4.레이어 시스템 - RESTful 서비스는 다중 계층으로 구성될 수 있습니다. 각 계층은 독립적으로 구현되어 서로의 상호작용을 최소화합니다. 이를 통해 시스템의 확장성과 유연성을 높일 수 있습니다.
- 5. 클라이언트-서버 아키텍처 - RESTful 서비스는 클라이언트와 서버가 독립적으로 개발되어야 한다는 원칙을 따릅니다. 이는 서버의 변경이나 확장이 클라이언트에 영향을 미치지 않도록 하고, 클라이언트와 서버 간의 상호 독립성을 보장합니다. 이로 인해 시스템의 확장성이 향상되고, 유지보수가 용이해집니다.
- REST URL 설계 규칙
- URL 마지막에 '/'를 포함x
ex) http:localhost.com/product ( 정답) http:localhost.com/product/(오답)
- 언더바( _ ) 는 사용x 대신 하이픈( - )을 사용
ex)http:localhost.com/provider-company-name(정답) http:localhost.com/provider_company_name(오답)
- URL에는 행위(동사)가 아닌 결과(명사)를 포함
ex)http:localhost.com/product/123(정답) http:localhost.com/delete-product/123(오답)
*행위는 HTTP메서드로 표현 굳이 delete다 post다 이런거 표현하지마라
@DeleteMapping으로 알수있다(최대한 간결하게 써라)
- URL은 소문자로 작성
- 파일의 확장자는 URL에 포함x
'Spring > 이론' 카테고리의 다른 글
다른 프로젝트에서 restapi 가져오기//CORS policy//@CrossOrigin (0) | 2023.08.02 |
---|---|
rest api로@RestController //get/post/put/delete로 == > DB CRUD하기 (0) | 2023.08.01 |
delete방식-- 삭제할 때 사용//talend Api// (0) | 2023.07.31 |
put방식 -- 수정할 때 사용//talend Api//@RequestBody (0) | 2023.07.31 |
post방식--등록할 때 사용//talend Api//@RequestBody() (0) | 2023.07.31 |