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"
}'백엔드 > Spring' 카테고리의 다른 글
| API (0) | 2021.09.12 |
|---|---|
| Spring MVC (0) | 2021.07.23 |
| Spring JDBC (0) | 2021.07.20 |
| Spring 을 사용하는 이유 (0) | 2021.07.19 |