반응형
이번에는 기존에 진행하던 프로젝트에 삭제 기능을 추가해보려고 한다.
추가 사용자 삭제는 사용자 상세조회와 같은 URI를 가지고 있을 것이고 DELETE라는 메소드로 호출 할 것이다.
//삭제기능 : 개별적 데이터 찾아서 삭제시켜야 함
public User deleteById(int id){ //id 매개변수 -> 검색
//데이터는 List에 저장해두고 겁색 가능
//iterator : 열거형 데이터, 배열, List 형태의 데이터를 순차적으로 접근하기 위한 데이터
Iterator<User> iterator = users.iterator();
while (iterator.hasNext()){ //순차적으로 가져옴
User user = iterator.next(); //초기상태의 3명의 데이터가 순차적으로 포함
if(user.getId() == id){
iterator.remove(); //remove함수 이용해서 삭제
return user;
}
}
return null;
}
이렇게 deleteById()라는 메서드를 선언해주고 Controller 클래스에서 추가작업을 해본다.
@DeleteMapping("/users/{id}")
public void deleteUser(@PathVariable int id){
User user = service.deleteById(id);
if(user == null){
throw new UserNotFoundException(String.format("ID[%s] not found", id));
}
}
이렇게 작성을 해주면 서버를 재시작해준다.
서버가 재시작되었다면 포스트맨에서 실행을 시켜본다!
DELETE메소드로 실행을 시켜보면 200 코드를 확인 해 볼 수 있고, 전체목록 조회를 해보면
1번 사용자가 삭제 된 후 2번, 3번 사용자만 나타나는 것을 볼 수 있다.
추가로 수정하기 메소드를 사용하려면 PUT이라는 메소드를 사용할 수 있다.
RESTful API는 HTTP가 가지고 있는 모든 메소드의 종류를 사용할 수는 없고, GET/POST/PUT/DELETE만 사용할 수 있다.
간략하게 설명하면,
- GET : 데이터베이스의 자료를 조회하는 select의 기능
- POST : 데이터베이스에 자원을 새롭게 insert하는 기능
- PUT : 등록되어있는 자원을 변경시켜주는 update 과정
- DELETE : 등록되어있는 자원을 삭제시켜주는 delete 과정
이렇게 간단하게 생각할 수 있다.
반응형
'프로그래밍 > SPRING BOOT' 카테고리의 다른 글
[인프런 : spring-boot] 다국어 처리를 위한 Internationalization (0) | 2022.09.01 |
---|---|
[인프런 : spring-boot] 유효성 체크를 위한 Validation API (0) | 2022.09.01 |
[인프런 : spring-boot] AOP를 이용한 예외처리 (0) | 2022.08.30 |
[인프런 : spring-boot] HTTP Status Code 제어/예외처리 활용 (0) | 2022.08.30 |
[인프런 : spring-boot] POST-HTTP Method (0) | 2022.08.30 |