REST Template의 Idempotent(멱등)
2020. 8. 12. 14:26ㆍ프로그래밍 언어/Java
idempotent(멱등)
연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미함.
REST 서비스에서 idempotent란, 같은 요청을 여러 번 하더라도 그 결과가 매번 동일한 것을 의미함.
메서드 | 의미 | idempotent |
POST | Create | X |
GET | Select | O |
PUT | Update | O |
DELETE | Delete | O |
idempotent한 것
a=4
와 같은 명령은 반복적으로 수행해도 결과가 같음.
따라서 명령어 수행 과정에서 실패하더라도 반복적으로 a=4
를 수행하면 됨
(= 실패시 트랜잭션 복구를 위해서 같은 명령어를 다시 실행하면 됨)
조회(Select), 기존의 상태를 새로운 상태로 변경(Update), 기존 상태를 삭제(Delete)하는 명령은 여러 번 수행해도 결과가 같음.
idempotent하지 않은 것
a++
는 호출 할 때마다 값이 증가되기 때문에, 매번 결과가 다름.
a++
와 같은 명령어를 실패했을 경우에는 올라간 값을 다시 -1로 빼줘야함.
(= 실패를 대비해 트랜잭션 복구를 위해서 기존 상태를 미리 저장했다가 실패시 원복해야함)
생성(Create)의 경우 여러 번 수행 할 경우 매번 새로운 값을 생성하기 때문에 결과가 다름.
'프로그래밍 언어 > Java' 카테고리의 다른 글
IntelliJ에서 Spring Boot 프로젝트 생성하기 (0) | 2020.09.05 |
---|---|
Java Unit Test 교육 내용 정리 (3) (0) | 2019.12.05 |
Java Unit Test 교육 내용 정리 (2) (0) | 2019.12.04 |
Java Unit Test 교육 내용 정리 (1) (0) | 2019.12.04 |