코린이 연대기 2020. 11. 20. 03:54

API 의 기본 기능을 생각하였을때 생성, 조회, 변경, 삭제 가 있는데 이중 변경(update) 기능을 위해 

필요한 클래스이다.

 

MemoService.java 

이렇게 작성해보면 updatd 메서드가 Memo.java 에 있어야 한다.

@RequiredArgsConstructor // 생성자를 자동으로 만들 때 final로 선언된 변수를 포함시킨다.
@Service // Service임을 명시
public class MemoService {

    private final MemoRepository memoRepository;

    @Transactional // DB에 반영되야 함을 명시
    public Long update(Long id, MemoRequestDto requestDto) {
        Memo memo = memoRepository.findById(id).orElseThrow(
                () -> new IllegalArgumentException("아이디가 존재하지 않습니다.")
        );
        memo.update(requestDto); // update 메서드가 Memo.java 에 있어야 한다 
        return memo.getId();
    }
}

 

Memo.java 에 아래 메서드를 추가해 username과 contents를 Dto에서 가져와서 넣어준다.

public void update(MemoRequestDto requestDto) {
    this.username = requestDto.getUsername();
    this.contents = requestDto.getContents();
}