본문 바로가기

🌈 백엔드/네트워크 HTTP

REST

반응형
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