```java
ㅇㅅㄱ (스프링 튜터)
10:52 AM
- 위와 같은 이유로 댓글관련 api 명세는 다음과 같이 바뀌어야 할 것 같네요. /api/posts/{postId}/comments/{commentId} . 댓글이 게시글에 대한 댓글만 있는게 아니라서
```
```java
Comment api가 명확하지 않고
떨어져 있다고 하던데 (Post, Comment, Follow 등 포함)
제가 한 댓글 같은 경우는 그럼
게시글아이디/댓글아이디
이렇게 표기하고
이런 수정을 말씀해주신건가요?
단건조회 다건조회가 지금 필요한건 아닌건 아는데
게시글 들어가면 확인이 되니까
근데 이걸 프로필 목록 확인 할 때 가져와서 해야할 수도 있을 것 같아서
미리 만들어놓은거고...
안쓰면 삭제해도 된다고
생각하고 있었거든요
프로필 목록이 내가 쓴 글, 댓글을 보여주는 목록?! -> 네!
근데 프로필에서
어떻게 사용할지도 아직 모르는 상태고
거기에서
뭐든 응용할 수 있게끔~
없는 것 보단 나으니까
만들어놓은거여서...
그것 때문에 애매하다면
삭제해도 되는 부분이에요!
```커서페이지네이션, offset/limit 페이지네이션사용자 ID: 비밀번호 변경과 관련된 사용자의 식별자
변경된 비밀번호: 변경한 비밀번호 값
변경 일시: 비밀번호가 변경된 일시
비밀번호 변경 기록을 저장하고 조회하는 용도로 Redis를 사용할 때, 사용자 ID를 Key로 하고 변경 기록을 Value로 저장하는 방식을 활용할 수 있습니다. 비밀번호 변경 제한은 해당 사용자의 비밀번호 변경 기록을 조회하고, 최근 3회 변경 기록 중 동일한 비밀번호가 있는지 확인하여 처리하면 됩니다.
아래는 비밀번호 변경 제한을 위한 예시 엔티티 구조입니다:
javaCopy code
import java.time.LocalDateTime;
public class PasswordChangeHistory {
private Long userId;
private String newPassword;
private LocalDateTime changeDateTime;
}
위와 같은 엔티티를 활용하여 Redis에 비밀번호 변경 기록을 저장하고 조회하면서 변경 제한을 구현할 수 있습니다. 단, Redis의 데이터 유지 기간과 데이터 저장 방식에 유의하여 구현해야 합니다.
Password passwordHistory = passwordRepository.findByUsername(requestDto.getPassword());requestDto의 비밀번호를 이용해서 passwordRepository에서 해당 비밀번호를 사용한 기록을 찾는 것을 의미UpdatePasswordRequestDto requestDto: 이 객체는 비밀번호 변경 요청에 필요한 정보를 담고 있는 DTO(Data Transfer Object)입니다. 사용자가 새로운 비밀번호를 입력하고, 해당 비밀번호와 함께 프로필을 수정할 때 사용됩니다.Password passwordHistory = passwordRepository.findByPassword(requestDto.getPassword());는 이전 비밀번호 기록을 조회하는 데에는 적합하지 않음Password passwordHistory = passwordRepository.findByUsername(user.getUsername());passwordHistory라는 변수에 저장public interface PasswordRepository extends JpaRepository<Password,Long> {
Password findByUsername(String username);
}public interface PasswordRepository extends CrudRepository<Password,Long> {
Password findByUsername(String username);
}