controller.UserYwooController
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable long id){
userYwooService.deleteUser(id);
}
@ 어노테이션
@DeleteMapping
- Http Request를 Delete 방식으로 보낼 때 사용한다.
- 정상적으로 삭제하면 별다른 return값이 없지만 삭제할 유저가 없는 경우 에러가 난다.
@PathVariable
- URL 경로에 변수를 넣어준다.
- {템플릿 변수} 와 동일한 이름을 갖는 파라미터를 추가하면 매핑된다.
service.UserYwooService
private final UserYwooRepository userRepository;
..
@Transactional
public void deleteUser(long id){
/* userRepository.findById(id).orElseThrow(()->{
throw new DataNoFoundException();
}); */
userRepository.deleteById(id);
}
@ 어노테이션
@Transactional
- 해당 어노테이션이 붙은 메서드 안에서 작업이 하나라도 실패할 경우 전체 작업을 취소한다.
주석처리가 된 부분은 DB에서 id를 찾지 못했을 경우 Custom Exception을 발생시키는 부분이다. 아직 구현이 덜 되어 주석처리를 했다.
CrudRepository에 있는 deleteById를 통해 매개변수로 들어온 id에 해당하는 값을 지운다.
🔗 : Spring Study
'스프링 스터디' 카테고리의 다른 글
게시글 추가 기능 구현 / 2022-02-15 (0) | 2022.02.15 |
---|---|
1주차 스프링 스터디 회고록 (0) | 2022.02.14 |
Controller 전역 예외 처리(Custom Exception) / 2022-02-10 (0) | 2022.02.11 |
회원 정보 수정 / 2022-02-09 (2) | 2022.02.10 |
회원 전체 조회 및 상세 조회 / 2022-02-08 (0) | 2022.02.09 |