백엔드/Spring

REST API

그기고기 2021. 9. 12. 14:39
728x90
반응형
SMALL

1. REST 란 무엇일까

 

Representational State Transfer의 약자이다. 구성은 다음과 같이 된다.

자원(Resource) : URI / 행위(Verb) : HTTP Method / 표현 : Representations

 

즉, REST는 URI를 통해 자원을 표시하고,

               HTTP Method를 이용하여 해당 자원의 행위를 규정하여

               그 결과를 받는 것을 말한다.

 

HTTP Method는 크기 GET, POST, PUT, DELETE 가 대표적이며

보통 CRUD에서 조회는 GET, 등록은 POST, 수정은 PUT, 삭제는 DELETE를 이용한다.

 

GET과 DELETE는 비교적 행위가 명확하지만, POST와 PUT을 구분하기 위해서는 멱등성의 개념을 알아야한다.

 

 

2. 멱등성(Idempotence) 이란?

 

멱등성 : 여러번 수행해도 결과가 같음을 의미.

 

HTTP Method를 예로 들자면, GET, PUT, DELETE는 같은 경로로 여러 번 호출해도 결과가 같다.

하지만, POST는 매 호출마다 새로운 데이터가 추가된다.

즉. POST : 멱등성이지 않음

    PUT : 멱등성적임.

 

3. PUT vs PATCH

 

PUT과 PATCH는 정보의 전체를 수정할 떄 사용한다.

반면 PATCH는 정보를 일부분 수정할 때 사용한다.

 

PUT : 요청 시에 요청을 일부분만 보낸 경우 나머지는 default 값으로 수정되는게 원칙이므로, 바뀌지 않는 속성도 모두 보내야 한다.

구체적으로 설명하자면, PUT은 response를 보낼 때 , entity 전체의 데이터를 전송한다.

 

 

PATCH : patch는 entity의 일부분 즉 바꾸기를 원하는 부분에 한해서 body에 담아서 보낼 수 있다.

           즉, 수정하고 싶은 부분만 보내면 된다.

 

ex) put

{

content : "rest-api 설명글"

}

 

ex) patch

 

{
"writer" : "paper" , 
"content" : "rest-api 설명글",
"updateAt " : "20210911"
}
728x90
반응형
LIST

'백엔드 > Spring' 카테고리의 다른 글

API  (0) 2021.09.12
Spring MVC  (0) 2021.07.23
Spring JDBC  (0) 2021.07.20
Spring 을 사용하는 이유  (0) 2021.07.19