반응형
SMALL
[1] REST
(1) 정의 및 목적
웹서비스 디자인 아키텍쳐 접근방식
HTTP Url을 통해 resource를 명시하고 HTTP 메서드(POST , GET , PUT , DELETE) 를 통해 CRUD operation을 적용한다
다양한 브라우저와 모바일 디바이스 등 멀티플랫폼 지원을 위해 서비스 자원에 대한 아키텍처를 목적으로한다
API 작동방식에 대해 조건을 부과하는 아키텍처이다
스프링의 @Controller 와 @ResponseBody로 만든 결과물을 @RestController로 만든다
(2) 특징
프로토콜에 독립적이다
주로 HTTP를 사용해서 구현한다
리소스 중심의 api 디자인-http메서드로 수행할 작업을 정의한다
사용자가 정의한 클래스 타입으로 사용하거나 json이나 xml을 자동으로 처리할수 있다
URL 자체에 데이터를 식별할수 있는 정보들을 표현할수 있다 (@PathVariable)
(3) RESTful API
REST규약을 준수하는 API 를 말한다
명사를 기준으로 서버에 있는 리소스에 대해서 어떤 작업을 할것인지 http메서드 (get/post)를 표현한다
[2] 준비
(1) pom.xml
[3] REST 적용
/customers | /customers/1 | /customers/1/orders | |
POST | 새 고객 만들기 | Error | 고객1에 대한 새 주문 만들기 |
GET | 모든 고객 검색 | 고객1에 대한 세부정보 검색 | 고객1에 대한 모든 주문검색 |
PUT | 고객 대량 업데이트 | 고객1이 있는경우 고객1의 세부정보 업데이트 | 고객 1의 주문 대량 업데이트 |
DELETE | 모든 고객제거 | 고객1 제거 | 고객1의 모든 주문 제거 |
읽기 | /comment/read?cno=번호 | GET | 지정된 번호의 댓글을 보여준다 |
쓰기 | /comment/write | POST | 작성한 게시물을 저장한다 |
삭제 | /comment/remove | POST | 댓글을 삭제한다 |
수정 | /comment/modify | POST | 수정된 게시물을 저장한다 |
↓
읽기 | /comments | GET | 모든 댓글을 보여준다 |
읽기 | /comment/{cno} | GET | 지정된 번호의 댓글을 보여준다 |
쓰기 | /comments | POST | 새로운 댓글을 저장한다 |
삭제 | /comments{cno} | DELETE | 지정된 번호의 댓글을 삭제한다 |
수정 | /comment/{cno} | PUT/ PATCH | 수정된 댓글을 저장한다 |
반응형
LIST
'🌈 백엔드 > 네트워크 HTTP' 카테고리의 다른 글
REST 방식_Ajax (8) | 2023.12.31 |
---|---|
암호 , 전자서명 (10) | 2023.11.21 |
XML vs JSON (0) | 2023.10.16 |
톰캣의 서블릿 경로를 변경 (0) | 2023.09.05 |
쿠키 (0) | 2023.08.25 |