마지막은 DELETE 메소드인데,
리소스 삭제에 해당하는 delete는 CRUD에서 D을 담당하고 GET 메소드와 유사하게 databody를 가지지 않는다.
데이터를 변경시키므로 안정성은 지켜지지 않으나, 여러번 삭제해도 삭제된 데이터를 또 삭제할 수는 없으므로 멱등성은 지켜진다.
@DeleteMapping(path = {
"/user/{userName}/delete",
"/user/{userName}/del"}
)
public void delete(
@PathVariable String userName
){
log.info("user-name : {}", userName);
}
위 코드에서 볼 수 있듯이 매우 간단하며, 맵핑되는 주소에는 여러 주소가 올 수 있다는 것을 알 수 있다.
http://localhost:8080/api/user/abcd/del
요청 주소가 잘못되어 수정이 필요하더라도, 실행 중 클라이언트와 충돌 될 수 있기 때문에
서버가 다운되고 수정하거나 version을 업데이트 하는 것이 올바르다.

위 주소로 요청한 결과로 성공적으로 삭제되었다.