반응형 스파르타 내일배움캠프/TIL(Today I learned)109 실전 프로젝트 4일차 - 토큰 재발급, 캐싱 처리 목차 📌 토큰 재발급 구현✅ 기능AccessToken이 만료되었을 때 로그아웃하지 않고도 Refresh Token을 이용하여 새롭게 AccessToken과 RefreshToken을 발급받을 수 있음. ✅ 구현 코드AuthController.java더보기@Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { String authHeader = request.getHeader("Authorization"); System.out.. 2025. 5. 21. 실전 프로젝트 3일차 - 좋아요한 책 목록 조회 기능 목차 📌 좋아요한 책 목록 조회 기능 구현✅ 기능로그인한 사용자가 좋아요한 도서 목록을 조회하는 API를 구현.페이지네이션을 적용하여 클라이언트에서 원하는 페이지만큼 조회가 가능하도록 함. ✅ 구현 코드1. DTO 변환 로직 - from() 메서드 활용LikedResponseDto 클래스에 from(Like like) 정적 팩토리 메서드를 정의하여, Like 엔티티에서 필요한 Book 정보를 추출해 응답용 DTO로 변환함.public static LikedResponseDto from(Like like) { Book book = like.getBook(); return new LikedResponseDto( book.getId(), book.getTitle(), .. 2025. 5. 20. 실전 프로젝트 2일차 - 로그아웃 API 목차 1. 개발한 기능Spring Security와 JWT 기반의 로그아웃 API 구현. 2. 개발 과정JwtTokenProvider.javapublic String resolveToken(HttpServletRequest request) { String bearer = request.getHeader("Authorization"); if (bearer != null && bearer.startsWith("Bearer")) { return bearer.substring(7).trim(); } return null; } public boolean validateToken(String token) { try { .. 2025. 5. 19. 실전 프로젝트 1일차 - 프로젝트 S.A 목차 📚 도서 관리 프로그램1. 와이어 프레임 2. ERD 3. API 명세서 17조 | NotionMade with Notion, the all-in-one connected workspace with publishing capabilities.www.notion.so 2025. 5. 16. Spring Plus 과제 회고 목차 Spring Plus 과제Level 11. 코드 개선 퀴즈 - @Transactional의 이해할 일 저장 기능을 구현한 API(/todos)를 호출할 때, 아래와 같은 에러가 발생. [ 나의 코드 ]더보기@Service@RequiredArgsConstructor@Transactional(readOnly = true)public class TodoService { private final TodoCustomRepository todoCustomRepository; private final TodoRepository todoRepository; private final WeatherClient weatherClient; @Transactional public TodoS.. 2025. 5. 15. QueryDSL 목차 QueryDSLEntity의 매핑정보를 활용하여 쿼리에 적합하도록 쿼리 전용 클래스(Q클래스)로 재구성해주는 기술.JPAQueryFactory 를 통한 Q클래스를 활용할 수 있는 기능들을 제공함. 💡 JPAQueryFactory재구성한 Q클래스를 통해 문자열이 아닌 객체 또는 함수로 쿼리를 작성하고 실행하게 해주는 기술. 1. QueryDSL의 특징타입 안정성 보장 : 컴파일 타임에 오류 감지IDE 자동 완성 : Q클래스를 통한 코드 완성 지원.동적 쿼리 작성 용이높은 재사용성과 유지보수성 2. QueryDSL 설정 방법(Gradle)dependencies { implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor.. 2025. 5. 14. JPQL (수정예정) 목차 JPQL(Java Persistence Query Language)Table이 아닌 Entity(객체) 기준으로 작성하는 쿼리는 JPQL 이라고 함.EntityManager 또는 @Query 구현체를 통해 JPQL 쿼리를 사용할 수 있음.SQL : Table 명으로 쿼리짤 때 쓰이는 언어 (쓰이는 곳, JDBC, SQL Mapper)JPQL : Entity명으로 쿼리짤 때 쓰이는 언어 (쓰이는 곳, JPQL, QueryDSL)EntityManager.createQuery()쿼리 문자열과 Entity를 직접 넣어서 쿼리를 작성.setParameter와 같이 key, value 문자열을 통해서 쿼리 파라미터를 매핑할 수 있음.@Query (repository interface)@Query 의 인자.. 2025. 5. 13. 테이블 객체로 자동 쿼리 생성하기 목차 1. JpaRepository 쿼리 기능SprintData Common의 CRUDRepository + PagingAndSortingRepository 가 쿼리 기능을 제공.Repository는 MarkerInterface로 특별한 기능은 없음.Repository ~ JpaRepository 까지는 @NotRepositoryBean 이 붙어있는 인터페이스.JpaRepository 를 붙이면 알맞은 프로그래밍 된 SimpleJpaRepository 구현체 빈이 등록됨.@SpringBootApplication 을 통해 자동으로 붙여지는 @EnableJpaRepositories 의 JpaRepositoriesRegistrar 를 통해서 등록됨.JpaRepositoriesRegistrar는 ImportB.. 2025. 5. 12. 25.05.09 TIL - 테이블 객체 다루는 법 목차 Cascade (영속성 전이)1. 사용 위치연관관계의 주인 반대편 - 부모 엔티티(다대일에서 일)즉, @OneToMany 가 있는 쪽 또는 @OneToOne 도 가능.예를 들어, 게시글과 첨부파일이라면 일에 해당하는 게시글에 설정함. 2. 사용 조건양쪽 엔티티의 라이프사이클이 동일하거나 비슷해야함.예를 들어, 게시글이 삭제되면 첨부파일도 같이 삭제 되어야 함.대상 엔티티로의 영속성 전이는 현재 엔티티에서만 전이 되어야 함.(다른 곳에서 또 걸면 안됨)예를 들어, 첨부파일을 게시글 아닌 다른 곳에서 영속성 전이를 하면 안됨. 3. 옵션 종류ALL : 전체 상태 전이PERSIST : 저장 상태 전이REMOVE : 삭제 상태 전이MERGE : 업데이트 상태 전이REFRESH : 갱신 상태 전이DETAC.. 2025. 5. 9. 이전 1 2 3 4 5 6 ··· 13 다음 반응형