study/spring | java

[Timeline Service] 타임라인 서비스 | 번외 (조회 시간 제한)

_드레 2021. 6. 6. 17:26

❔타임라인 서비스가 불러오는 메모 목록의 시간을 조회 시간으로부터 24시간 이내로 변경해보기. 

 

1) spring jpa localtime between

2) LocalDateTime.now() 현재 | LocalDateTime.now().minusDays(1)

 

참고 : https://krksap.tistory.com/959

 

spring data jpa 날짜 between

1.between 사용법 repository List findByLatestUpdateBetween(Date start, Date end); main.java Date before = new Date(System.currentTimeMillis() - 30000L); Date now = new Date(); System.out.println(bef..

krksap.tistory.com

 

 

 

[MemoRepository.java]

public interface MemoRepository extends JpaRepository<Memo, Long> {
    List<Memo> findAllByOrderByModifiedAtDesc();
}

▼▼▼

public interface MemoRepository extends JpaRepository<Memo, Long> {
    List<Memo> findAllByModifiedAtBetweenOrderByModifiedAtDesc(LocalDateTime start, LocalDateTime end);
}

 

[MemoController.java]

@RequiredArgsConstructor
@RestController
public class MemoController {

    private final MemoRepository memoRepository;
    private final MemoService memoService;

    @GetMapping("/api/memos")
    public List<Memo> getMemos() {
        LocalDateTime start = LocalDateTime.now().minusDays(1);
        LocalDateTime end = LocalDateTime.now();
        return memoRepository.findAllByModifiedAtBetweenOrderByModifiedAtDesc(start, end);
    }

    @PostMapping("/api/memos")
    public Memo createMemo(@RequestBody MemoRequestDto requestDto) {
        Memo memo = new Memo(requestDto);
        return memoRepository.save(memo);
    }

    @PutMapping("/api/memos/{id}")
    public Long updateMemo(@PathVariable Long id, @RequestBody MemoRequestDto requestDto) {
        memoService.update(id, requestDto);
        return id;
    }

    @DeleteMapping("/api/memos/{id}")
    public Long deleteMemo(@PathVariable Long id) {
        memoRepository.deleteById(id);
        return id;
    }
}