728x90
/*MemoService.java*/
package com.sparta.week03.service;
import com.sparta.week03.domain.Memo;
import com.sparta.week03.domain.MemoRepository;
import com.sparta.week03.domain.MemoRequestDto;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
@Service //서비스단인 것을 스프링에게 알려줘야함
@RequiredArgsConstructor
public class MemoService {
private final MemoRepository memoRepository; //꼭 필요하기 때문에 final
//-> @RequiredArgsConstructor 필요
@Transactional //DB에 실제로 반영이 되어야 한다는 것을 알려줘야함
public Long update(Long id, MemoRequestDto requestDto) {
//NullPointerException : 찾는 대상이 없다/ 가리키는게 없다
//IllegalArgumentException : 전달받은 매개변수의 값이 잘못 됐다
Memo memo = memoRepository.findById(id).orElseThrow(
() -> new NullPointerException("해당 ID를 가진 데이터가 없습니다.")
);
memo.update(requestDto); /*Memo.java*/
return memo.getId();
}
}
/*Memo.java*/
package com.sparta.week03.domain;
...
@NoArgsConstructor
@Getter
@Entity
public class Memo extends Timestamped {
...
public void update(MemoRequestDto requestDto) {
this.username = requestDto.getUsername();
this.contents = requestDto.getContents();
}
}
'Spring Framework' 카테고리의 다른 글
Javascript 기초 - 1 (0) | 2021.07.21 |
---|---|
타임라인서비스) Controller 만들기 (0) | 2021.07.21 |
타임라인서비스) Repository 만들기 (0) | 2021.07.21 |
API - POST, PUT, DELETE (0) | 2021.07.21 |
API-GET (0) | 2021.07.18 |