본문 바로가기

Project17

SpringSecurity 및 jwt 설정 1 이제 슬슬 인증에 필요한 설정도 해야되서 인프런에 무료인강이 있길래 참고했다 먼저 이제 인증에 필요한 회원(User)테이블과 매핑할 도메인도 필요하니께 만들어주었다. @Entity @Getter @NoArgsConstructor public class User extends BaseEntity{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long userId; private String fullName; private String password; private String email; private String address; private String profileUrl; private String accessToken; priv.. 2023. 2. 27.
리뷰 및 메뉴 페이징 목록 구현 특정 식당의 리뷰 및 메뉴 목록을 페이징으로 구현하는 api를 만드는데 이건그냥 해당 식당 id를 파라미터로 넘겨서 셀렉트하면 되는 부분이라 딱히 동적쿼리가 들어갈것도없기 때문에 querydsl이 아닌 그냥 data-jpa로 처리하면 된다. @Query(value = "select f from Food f where f.restaurant.id =:restaurantId order by f.price asc", countQuery = "select count(f) from Food f where f.restaurant.id =:restaurantId") Page getFoodList(@Param("restaurantId") Long restaurantId, Pageable pageable); @Query.. 2023. 2. 27.
EhCache 설정 모바일 기능중에 카테고리 목록을 가져와 필터로 뿌리는 기능이 있다. 이걸 사실 계속 db조회해도 토이프로젝트이다 보니 이슈가 발생하진 않지만 여러가지 설정 공부도 하고 구색도 맞춰볼겸 캐시를 적용해보기로했다. 통상적으로 뭐 메뉴나 카테고리는 크게 바뀔게없으니까 지속적으로 리스트 호출할 때마다 db조회는 좀 비효율적이다. 처음엔 걍 이니셜라이징빈을 implements해서 최초 서버 뜰때 스태틱 리스트 변수에 담아두고 스태틱으로 계속 쓸까도 해봤는데 현재 근무하고있는 실무프로젝트에서 메뉴리스트 호출시 사용하는 EhCache를 적용해보기로했다. 역시 Gradle 기반 프로젝트여서 설정도 간편한 편이다 Build.Gradle //ehcache implementation 'org.springframework.bo.. 2023. 2. 24.
JPA Auditing 설정 실무프로젝트를 하면 거의 무조건 모든 테이블에 등록일자,수정일자, 등록자,수정자 컬럼은 공통적으로 포함이되어있다. (잘못된 데이터가 언제 누가 수정했는지 추적하기도 쉽고..) 이번 토이프로젝트에서는 굳이 크게 필요가없어서 사실 안하려고했는데 이왕 하는김에 인강들으면서 배운거 최대한 써먹으려고 적용을 해보았다. (등록일자,수정일자만) 먼저 springBootApplication 클래스 선언부 위에 @EnableJpaAuditing 어노테이션을 추가한다. 그리고 모든 엔티티에 해당컬럼 두개를 추가할 꺼기 때문에 따로 BaseEntity로 클래스 생성후 다른엔티티들이 상속받게 해놓았다. BaseEntity @MappedSuperclass @NoArgsConstructor @EntityListeners(Audi.. 2023. 2. 24.